2011-12-14 79 views
5

我有屬性文件config.properties其中存儲了一些應用程序範圍的屬性。我已經使用屬性佔位符導入它:Spring屬性文件爲xml

<context:property-placeholder location="classpath:/config.properties" /> 

我需要在XML文件中存儲屬性以傳遞一些XML模式驗證。 我的問題是如何在春天導入XML文件作爲屬性文件,?

感謝, 阿爾森

回答

6

PropertyPlaceholderConfigurer已經支持通過DefaultPropertiesPersister

xml屬性文件屬性的XML文件格式如下。

<?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
    <properties> 
     <entry key="key1">Value 1</entry> 
     <entry key="key2">Value 2</entry> 
    </properties> 

可以使用

<context:property-placeholder 
    location="classpath:/com/myProject/spring_prop.xml" /> 
     <bean id="bean" class="org.MyBean"> 
     <property name="key1" value="${key1}" /> 
     </bean> 
+0

感謝它真的有效! –

3

除了其他的答案在這裏,我也看到XML屬性直接加載命名屬性文件:

春文件包含:

<util:properties id="myXmlProps" location="classpath:/com/myProject/spring_prop.xml" /> 

然後可以通過彈簧表達式語言訪問:

"#{myXmlProps['key1']}" 

而且隨着注入字符串中類:

@Value("#{myXmlProps['key1']}") 
private String aValueForKey1;