我有一个需要使用的现有属性文件。在这里,我必须定义一个看起来像新属性-$ {testText1}。$ {testText2}
我不希望编辑这些属性,即当我实际获取这些值时,我希望使用$ {testText1}。$ {testText2}而不是替换的值。
所以我的属性文件看起来像-
someProperty=${testText1}.${testText2}
现在,当我获取此信息时:
@Value(“ $ {someProperty}”)
私有字符串myValue;
myValue实际上应该包含字符串-${testText1}.${testText2}
,而不是替换的值。
我该怎么做?
答案 0 :(得分:1)
您可以通过2种方式来做到这一点:
1。定义一个新的配置类:
@Configuration
@ConfigurationProperties
public class SomePropertyConfig {
//name of the property from application.properties
private String someProperty;
public String getSomeProperty() {
return someProperty;
}
public void setSomeProperty(String someProperty) {
this.someProperty = someProperty;
}
}
之后,您可以自动连接该bean
@Autowired
private SomePropertyConfig somePropertyConfig;
通过这种方式,目标属性将被注入到配置中
application.properties
someProperty= #{'$'}{testText1}.#{'$'}{testText2}