0
我有一个属性标注为@Value
,从正常的context.xml(JNDI/Tomcat)的默认值
@Value("${some.property}")
private String property
这工作得很好,但我们有我们的软件,其中那个的安装填充属性不应配置。
但是,如果属性丢失,我得到一个javax.naming.NameNotFoundException: Name [some.property] is not bound in this Context. Unable to find [some.property].
,这是合乎逻辑的。
我试图解决这个,通过添加默认值是这样的:
@Value("${some.property:some_property_not_configured}")
private String property
不过,我还是得到同样的错误。
任何想法如何防止/解决这个问题?
我想在Spring 3.2.x和Spring 4+环境中使用它。 注释@Value可从春天3+
UPDATE: 问题是不与@Value注释,但在app-config.xml中
<entry key="some.property">
<jee:jndi-lookup jndi-name="java:comp/env/some.property" />
</entry>
这在启动时造成的错误时间!
不过,如果我添加default-value="something"
在这里,它仍然失败,相同的错误
您是否验证了您的some_property_not_configured是有效的jndi名称 – kuhajeyan