Springboot 中application.yml和bootStrap.yml 的加载顺序
时间: 2023-06-18 08:02:02 浏览: 113
在 Spring Boot 中,有两个主要的配置文件:application.yml 和 bootstrap.yml。它们的加载顺序是不同的。
1. bootstrap.yml 的加载顺序
Spring Boot 首先会查找 bootstrap.yml 文件,并加载其中的配置。如果没有找到 bootstrap.yml 文件,则会继续查找 bootstrap.properties 文件。
bootstrap.yml 用于应用程序上下文的引导阶段。在这个早期阶段,它主要用于配置 Spring Cloud 应用程序的属性,比如配置 Eureka 注册中心的地址。因此,bootstrap.yml 的加载顺序是比较早的。
2. application.yml 的加载顺序
当 bootstrap.yml 文件被加载完成后,Spring Boot 会接着加载 application.yml 文件。如果没有找到 application.yml 文件,则会继续查找 application.properties 文件。
application.yml 是应用程序的主要配置文件。它包含了应用程序的所有配置信息,如数据库连接、端口号等。因此,application.yml 的加载顺序是相对较晚的。
总之,Spring Boot 的配置文件加载顺序为:bootstrap.yml -> bootstrap.properties -> application.yml -> application.properties。如果同名属性在多个文件中都存在,则会按照加载顺序覆盖之前的值。
相关问题
springboot项目 application.yml
在Spring Boot项目中,application.yml是一种用于配置文件的语言,可以替代application.properties文件。它是JSON的超集,简洁而强大。在创建Spring Boot项目时,引入spring-boot-starter-web依赖会间接引入snakeyaml依赖,snakeyaml会实现对YAML配置的解析。与application.properties相比,application.yml具有以下几个区别和特点:
1. YAML支持列表的配置,而Properties不支持。
2. application.properties的优先级会比application.yml高,也就是说如果两个文件都存在,且两个文件都配置了同一个属性,那么会以application.properties里的配置为准。
3. bootstrap.yml可以理解为系统级别的一些参数配置,一般用于定义一些不会变动的参数。而application.yml可以理解为应用级别的一些参数配置,一般用于定义应用系统的参数配置。
4. 当使用配置中心的组件时,需要在bootstrap配置文件中添加连接到配置中心的配置信息。
因此,如果你在项目中同时存在application.properties和application.yml文件,两个文件都是有效的,但是application.properties的优先级会比application.yml高。你可以根据具体需求选择使用哪种配置文件。
#### 引用[.reference_title]
- *1* [SpringBoot中application.yml基本配置详情](https://blog.csdn.net/vingo007/article/details/124625789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [SpringBoot - 配置文件application.yml使用详解](https://blog.csdn.net/goodjava2007/article/details/126629947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)](https://blog.csdn.net/qq_31432773/article/details/115916386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
application.yml和bootstrap.yml的区别
`application.yml` 和 `bootstrap.yml` 都是 Spring Boot 项目中用来配置应用程序的配置文件,两者的区别在于加载顺序和配置作用范围。
`bootstrap.yml` 文件优先于 `application.yml` 文件加载,用于应用程序的引导阶段,主要用于 Spring Cloud 应用程序中的外部配置加载。比如,可以在 `bootstrap.yml` 中配置连接到配置中心的信息,而 `application.yml` 中则可以配置应用程序的通用配置。
`bootstrap.yml` 文件的作用范围只限于当前应用程序的上下文,而 `application.yml` 文件则是应用程序的全局配置文件。
综上所述,`bootstrap.yml` 文件主要用于 Spring Cloud 应用程序的配置加载,而 `application.yml` 文件则用于应用程序的通用配置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)