假设我们有一个简单的Spring Condition,它必须与属性文件中的一个文件属性匹配:
public class TestCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
context.getEnvironment().getProperty("my.property");
context.getBeanFactory().resolveEmbeddedValue("${my.property}");
context.getEnvironment().resolvePlaceholders("${my.property}");
// ... more code
}
}
不幸的是,上面提到的方法调用都没有返回在属性文件中定义的真实的属性,相反,当我调用getProperty方法和“${my.property}”字符串时,我得到的是null(显然,属性还没有解析)。
3条答案
按热度按时间2hh7jdfx1#
PropertiesLoaderUtils
怎么样?只要把它放进你的方法里,而不是你在那里的东西。如果你的东西不起作用,也许可以试试这个。
3htmauhk2#
在spring中,你有很多方法来访问属性,主要的和最简单的如下
使用注入值
也可以使用
Environment
更多信息可以在here上找到
iezvtpos3#
我遇到了类似的问题。属性是通过XML加载的
所以我必须添加空的java @Configuration来导入属性。
从那以后我就能得到财产