2011-12-14 2 views
5

У меня есть файл свойств config.properties где хранятся некоторые свойства приложения. И я импортировал его используя свойство заполнителя:Весенний файл свойств как xml

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

Мне нужно хранить свойства в файле XML, чтобы передать некоторые валидации XML-схему. Мой вопрос заключается в том, как импортировать XML-файл в качестве файла свойств весной ,?

Спасибо, Арсен

ответ

6

PropertyPlaceholderConfigurer уже поддерживает XML-файлы свойств через DefaultPropertiesPersister

Формат файла 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;