这个答案在“微服务面试问题,Java 开发人员(Spring Boot,Spring Cloud,Cloud
本机应用程序),Munish Chandel,版本 1.30,25.03.2018。
以下内容均取自本书,总学分
因为这个答案属于本书的作者,即 Munish
钱德尔
application.yml
application.yml/application.properties 文件特定于 Spring Boot 应用程序。除非您更改应用程序的外部属性的位置,否则 Spring Boot 将始终从以下位置加载 application.yml:
/src/main/resources/application.yml
您可以将应用程序的所有外部属性存储在此文件中。可以在以下位置找到任何 Spring Boot 项目中可用的通用属性:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html 您可以根据应用程序的需要自定义这些属性。示例文件如下所示:
spring:
application:
name: foobar
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/test
server:
port: 9000
bootstrap.yml
另一方面,
bootstrap.yml 特定于 spring-cloud-config 并在 application.yml
之前加载>
bootstrap.yml 仅在您使用 Spring Cloud 并且您的微服务配置存储在远程 Spring Cloud Config Server 上时才需要。
关于 bootstrap.yml 的要点
- 与 Spring Cloud Config 服务器一起使用时,您应使用以下属性指定应用程序名称和配置 git 位置。
spring.application.name:“应用程序名称”
spring.cloud.config.server.git.uri:“git-uri-config”
- 与微服务(云配置服务器除外)一起使用时,我们需要指定
使用以下属性的配置服务器的应用程序名称和位置
spring.application.name:
spring.cloud.config.uri:
- 此属性文件可以包含与 Spring Cloud 环境相关的其他配置,例如eureka 服务器位置,加密/解密相关属性。
在启动时,Spring Cloud 使用应用程序的名称对 Spring Cloud Config Server 进行 HTTP(S) 调用,并取回该应用程序的配置。
application.yml 包含微服务的默认配置,在引导过程中检索到(从云配置服务器)的任何配置都将覆盖 application.yml 中定义的配置