【发布时间】:2015-03-20 20:12:23
【问题描述】:
我有一个属性,我想对其进行解析并将值注入回环境中。我想使用 @Value 注释使这些值可用。
例如。属性文件或系统属性:
settings.compoundProperty=abc.xyz.123
我想解析并注入
prop1=abc
prop2=xyz
prop3=123
回到环境。我希望能够在我的 bean 中注入这些新属性,如下所示:
@Value("${prop1}") prop1;
@Value("${prop2}") prop2;
我试过了:
@ConfigurationProperties (prefix="settings")
public class EnvironmentProperties {
@Inject ConfigurableEnvironment env;
public void setCompoundProperty(String s) {
// parse s and inject prop1, prop2 and prop3 back using env
}
但是,只有在我包含
时才有效@Inject EnvironmentProperties envProps;
在带有 @Value("${prop1}") prop1; 的类中属性。
如何在不需要包含上述 envProps 的情况下做到这一点?
【问题讨论】:
标签: spring spring-boot