在应用程序上放置属性的区别是什么?Yml或bootstrap。穿弹簧靴的Yml ? 在日志记录。配置情况下,应用程序的工作方式不同。


当前回答

引导。Yml是启动spring引导应用程序和应用程序时加载的第一个文件。属性在应用程序启动时加载。 在引导中,你可以保留配置服务器的凭证等。Yml,在加载应用程序时需要,然后在应用程序中。你保留的属性可能是数据库URL等。

其他回答

引导。当你使用Spring Cloud并且你的应用程序的配置存储在远程配置服务器(例如Spring Cloud Config server)时,yml被使用。引导。Yml在application.yml之前加载

这只是我的两毛钱。

引导。yml或Bootstrap。properties用于从Spring Cloud Server获取配置。

例如,在My Bootstrap中。我有以下配置文件

spring.application.name=Calculation-service
spring.cloud.config.uri=http://localhost:8888

在启动应用程序时,它试图通过连接到http://localhost:8888来获取服务的配置,并查看Calculation-service。Spring Cloud Config服务器中显示的属性

您可以在启动compute - service时从它的日志中验证相同的内容

INFO 10988——[restartedMain] c.c.c configservicepropertysourcelocator:从服务器获取配置在:http://localhost:8888

引导。Yml是启动spring引导应用程序和应用程序时加载的第一个文件。属性在应用程序启动时加载。 在引导中,你可以保留配置服务器的凭证等。Yml,在加载应用程序时需要,然后在应用程序中。你保留的属性可能是数据库URL等。

我刚刚问了Spring Cloud的人,我想我应该在这里分享我的信息。

引导。Yml在application.yml之前加载。

它通常用于以下情况:

当使用Spring Cloud Config Server时,你应该在bootstrap.yml中指定Spring .application.name和Spring . Cloud . Config . Server .git.uri 一些加密/解密信息

从技术上讲,引导。yml是由父Spring ApplicationContext加载的。父ApplicationContext在使用application.yml的ApplicationContext之前加载。

引导。Yml用于从服务器获取配置。它可以用于Spring云应用程序,也可以用于其他应用程序。通常是这样的:

spring:
  application:
    name: "app-name"
  cloud:
    config:
      uri: ${config.server:http://some-server-where-config-resides}

当我们启动应用程序时,它会尝试连接到给定的服务器,并根据运行/调试配置中提到的spring概要文件读取配置。

如果服务器不可达,应用程序甚至可能无法进一步进行。但是,如果本地存在与概要文件匹配的配置,则服务器配置将被覆盖。

好的方法:

维护一个单独的配置文件本地和运行应用程序使用不同的配置文件。