我有一個屬性文件我正在與Spring通過XML註冊,使用property-placeholder
元件:暴露<屬性佔位符>屬性,以春環境
<context:property-placeholder location="classpath:foo.properties" />
使用
@Value
註釋
我可以訪問的特性,例如
@Value("${prefs.key}")
private String prefValue;
但我還需要通過Spring環境訪問屬性,例如,
@Autowired
private Environment env;
public String getValue(String key) {
return env.getProperty(key);
}
getValue()
這裏總是返回null
,甚至在屬性文件中定義按鍵,因爲它似乎是使用<property-placeholder>
不公開屬性的環境。有沒有辦法強制以這種方式加載的屬性可以通過環境訪問?
我目前使用'spring-context-3.0.xsd'作爲XSD - 但奇怪的是,切換到3.1版本的XSD會導致屬性以我期望的方式暴露給環境。 謝謝! – Doches