【发布时间】:2018-01-26 13:03:50
【问题描述】:
到目前为止,我一直在使用 Spring 4.0.8,以下工作正常:
在我的单元测试中,我在 jndi 环境中输入了一个值:
SimpleNamingContextBuilder _simpleNamingContextBuilder =
new SimpleNamingContextBuilder();
_simpleNamingContextBuilder.bind(
"java:comp/env/myBoolVar", true);
_simpleNamingContextBuilder.activate();
然后在我的课堂上,我像这样访问它:
@Value("#{environment.myBoolVar}")
private Boolean _myBoolVar = Boolean.FALSE;
我已升级到 Spring 4.1.2,但不再有效。始终使用默认值 false,因为 Spring 无法找到该值。
如果我使用 old 方式访问这个值:
@Resource(mappedName = "java:comp/env/myBoolVar")
确实有效。
我一直在搜索 SO 和整个网络,我看到了大量的信息,但没有一个信息可以帮助我解决问题。我的理解是 Spring Environment 可以访问 @Value 所做的所有值。所以我不确定是什么问题。
【问题讨论】:
标签: spring-mvc jndi propertyconfigurator