2011-12-14 48 views
5

Tôi có các thuộc tính tệp config.properties nơi được lưu trữ một số thuộc tính ứng dụng rộng. Và tôi đã nhập nó bằng trình giữ chỗ thuộc tính:Tệp thuộc tính Spring dưới dạng xml

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

Tôi cần lưu trữ các thuộc tính trong tệp XML để chuyển một số xác thực lược đồ XML. Câu hỏi của tôi là cách nhập tệp XML dưới dạng tệp thuộc tính vào mùa xuân ,?

Cảm ơn, Arsen

Trả lời

6

PropertyPlaceholderConfigurer đã hỗ trợ các file tài sản xml qua DefaultPropertiesPersister

Định dạng file xml cho các thuộc tính như sau.

<?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> 

bạn có thể sử dụng

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

Nhờ nó thực sự làm việc! –

3

Bên cạnh những câu trả lời khác ở đây, tôi cũng đã thấy tính xml nạp trực tiếp như đặt tên thuộc tính tập tin:

Các tập tin mùa xuân chứa:

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

Điều này sau đó có thể được truy cập thông qua ngôn ngữ biểu thức lò xo dưới dạng:

"#{myXmlProps['key1']}" 

Và tiêm vào Strings trong lớp học với:

@Value("#{myXmlProps['key1']}") 
private String aValueForKey1; 
Các vấn đề liên quan