结论1:spring.profiles.active=p1,p2,p3定义的配置文件(application-p1.properties,application-p2.properties,application-p3.properties)中的配置项优先级高于application.properties文件配置的配置项。
结论2:jar资源中有application.properties的一些默认内容,则此资源内容将覆盖重要性较低的配置文件(先前在spring.profiles.active中定义的其他配置文件)的外部内容中的条目。
配置文件示例:spring.profiles.active=p1,p2,p3
Jar资源中的文件:application-p1.properties和application-p3.properties
外部文件:application-p1.properties和application-p2.properties
最终订单将为(最后获胜):
因此,请记住,同名文件的同名配置,外部优先级更高,但不同文件的相同配置项,有可能jar文件会的配置项覆盖外部文件的配置项。为了避免这种混乱,不建议jar包里面有配置文件。