在Spring Boot中,如果application.properties和application.yml,application-dev.yml(application.yml中指定了avtive: dev)中同时配置了相同的参数,Spring Boot默认会按照一定的加载顺序加载配置文件,并且后面的配置会覆盖前面的配置。
配置文件优先级 application-dev 高于application.properties 高于 application.yml,优先级低的先加载
具体来说:1. Spring Boot会先加载application.yml文件中的属性。2. 然后加载application.properties 文件中的属性。3 然后加载application-dev.yml 文件中的属性 因此,如果在application.properties和application.yml和application-dev.yml中都有相同的配置项,那么application-dev.yml中的配置将会覆盖application.properties中的同名配置项。值得注意的是,如果在同一个配置文件类型(properties或yml)中有重复的配置,也会遵循后加载的配置覆盖先前加载的配置的原则。同时,如果有@ConfigurationProperties或者@Bean等自定义配置类,其优先级又有所不同,具体还需结合Spring Boot的配置加载机制综合考量。
例如:application.properties和application.yml 同时存在
例如: 三种同时存在
如果未指定 active: dev 则 application-dev.yml 中的配置不生效 path:null