我已经阅读了StackOverflow和其他网站上我能找到的所有内容,而且我在任何地方都没有看到确定的答案。
我有一个实现@Condition的类,我在@Configuration文件中使用它来有条件地加载一些bean。我正在做这样的事情:
public class MyCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metdata) {
String property = context.getEnvironment().getProperty("some.prop.from.file");
boolean enable = Boolean.parseBoolean(property);
return enable;
}
}
调试时我发现从环境中获取属性总是返回null,即使该属性是使用@Value注入其他bean的。
所以我的问题是你或者你不能尝试从@Condition类中的文件中获取属性值?你能获得系统属性吗?我认为这是一个常见的用例,我认为Spring可以处理。
答案 0 :(得分:0)
必须将该属性添加到application.properties,而不是在启动期间加载的其他属性文件。