Gan*_*alf 5 spring properties spring-boot
我们有许多具有多个活动Spring配置文件的环境,但application- {profile} .yml文件的优先级是什么?
如果我有 spring.profiles.active=test-us-west-2-p1, test-us-west-2, test
以什么顺序application-test.yml, application-test-us-west-2.yml, application-test-us-west-2-p1.yml加载文件?如果我在每个文件中都有相同的属性,哪个"获胜"?
此外,这是从Spring-Boot 1.5.x更改为2.x吗?好像它可能有.
f-C*_*-CJ 11
配置文件的属性按照您指定的顺序加载,如果在不同的配置文件中定义了相同的属性,则最后一个属性获胜.
此行为适用于Spring Boot版本1.5.x和2.x,如果我没记错,它适用于所有版本的Spring.
Spring总是加载appication.yml.然后,如果指定了某个配置文件,它将加载该配置文件的属性文件.如果在该配置文件之后指定了另一个配置文件,它将加载该配置文件的属性文件.始终使用新值覆盖当前属性的值.
所以,假设你有profile1和profile2.你有这些属性文件:
application.yml:
property1: bob
property2: alice
property3: eve
Run Code Online (Sandbox Code Playgroud)
应用profile1.yml:
property2: alice1
property3: eve1
Run Code Online (Sandbox Code Playgroud)
应用profile2.yml:
property3: eve2
Run Code Online (Sandbox Code Playgroud)
然后你开始申请: spring.profiles.active=profile1, profile2
你会得到:
property1: bob
property2: alice1
property3: eve2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2237 次 |
| 最近记录: |