配置文件加载顺序
配置文件类型
- 有注册中心nacos 配置
- 其余配置文件主要有:application.properties ,application.yml, bootstrap.properties 其余配置
无配置中心
配置文件加载顺序
bootstrap 与application
spring boot 有两种配置文件
- application.properties(application.yml):系统级别的一些参数配置,这些参数一般是不会变动的
- bootstrap.properties(bootstrap.yml): 定义应用级别的配置
在Spring Boot 有两种上下文:
- bootstrap:应用程序的父上下文
- application:应用程序上下文
bootstrap 加载优先于 applicaton
但相同配置数据applicaton会覆盖bootstrap
application.properties与application.yml
- spring boot项目中同时存在application.properties和application.yml文件时,两个文件都有效,但是application.properties的优先级会比application.yml高。
加载本地其他配置文件
- 创建配置文件
注意: 单个yml @PropertySource 注解 无法加载成功文件
如果重写可以参考PropertySource加载yml - 使用xxx.properties
@Configuration
@Component
@PropertySource(value = {"classpath:other.properties" },ignoreResourceNotFound = true)
@Data
public class OtherProper {
@Value("${dc.dd}")
private String dd;
}
- 单个 @ ConfigurationProperties 适用于加载主配置文件application.properties ,application.yml
- ConfigurationProperties +PropertySource 不要使用@Value
@Configuration
@Component
@PropertySource(value = {"classpath:other.properties" },ignoreResourceNotFound = true)
@ConfigurationProperties(prefix = "dc")
@Getter
@Setter
public class OtherProper {
// @Value("${dc.dd}")
private String dd;
}
nacos 作为配置中心
- 通过 bootstrap.properties 配置配置中心文件
- nacos 默认查找(application-name).properties 文件加载
- spring.cloud.nacos.config.file-extension 设置文件后缀 如:yml 则查询yml文件
- nacos 配置–》本地properties 配置
- nacos 默认配置–》nacos 其余配置(根据extension-configs【顺序】)–》本地properties 配置