作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用属性文件配置我的 Spring 应用程序。但我必须在开发和生产属性文件之间进行切换。目前我有这个代码片段
@Configuration
@PropertySource(value = "classpath:config/simulator.properties", ignoreResourceNotFound = false)
public class AppConfiguration
但我想要一些 value = "classpath:${env:local}/simulator.properties"
这意味着如果我没有设置环境变量 env,那么它必须指向 local/simulator.properties,否则如果环境 env 变量指向 production,则位置必须是 production/simulator.properties。
所以,本地是后备环境。
有什么办法可以实现这一点吗?我不想使用配置文件,它必须由环境变量控制
我不想为配置文件设置 -D 选项
谢谢
约翰
最佳答案
您可以使用多个@PropertySource注释,如果找到第一个文件和第二个文件,并且两个文件中的键匹配,则将采用后一个文件。请查看here
@PropertySource(value="classpath:local/simulator.properties",ignoreResourceNotFound=true)
@PropertySource(value="classpath:${env.production}/simulator.properties",ignoreResourceNotFound=true)
关于java - 属性(property)选址环境设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45934815/
我是一名优秀的程序员,十分优秀!