Val*_*ler 1 java spring properties-file spring-boot
假设我有一个src/main/ressources/application.properties
包含以下(示例性)条目:
server.ssl.trust-store=/config/app.jks
Run Code Online (Sandbox Code Playgroud)
以及多个环境的多个 application.properties
/config
|---/prod
| |---/application.properties // overrides "server.ssl.trust-store"
|---/int
|---/application.properties
/src
|---/main
|---/resources
|---/application.properties // contains entry "server.ssl.trust-store"
Run Code Online (Sandbox Code Playgroud)
目录中的两个application.properties/config
都继承自src/main/resources/application.properties。在 /config/prod/application.properties 中,我们要覆盖该条目。这一切都按预期进行。
现在,我的问题是:是否可以禁止属性的继承?我尝试用空值覆盖它,但这不起作用,并且被不同地解释为根本没有设置它。
注意:server.ssl.enabled=false
对于这个特殊情况,我知道(来源)的存在。
您可以创建一个新的 spring 配置文件,例如 ,ssl
并在其中添加 ssl 配置
# in application-ssl.properties
server.ssl.trust-store=/config/app.jks
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过“导入”ssl 配置文件按需在应用程序中启用这些配置。
# in application-prod.properties
spring.profiles.include=ssl
Run Code Online (Sandbox Code Playgroud)
如果您不希望出现该值,则可以忽略此语句。
另一种方法是直接在application.properties
# in common application.properties
spring.myproperty=44 # ... etc, normal app properties
---
spring.config.activate.on-profile=ssl # These configs apply to the ssl profile
server.ssl.trust-store=/config/app.jks
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
507 次 |
最近记录: |