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