1. XML <util:properties/> 설정을 해준다.<?xml version=" 1.0"="" encoding="UTF-8" ?=""><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"> <util:properties id="prop" location="classpath:config/properties/sample.properties"/> </beans>2. 프로퍼티 파일 내용을 적어준다.
<pre><code>sample.prop1 = </code><code>test</code></pre> <div></div> <div><code># 우쭈쭈~</code></div> <div><code>sample.prop2 = \uc6b0\ucb48\ucb48~</code></div>3. EL 태그를 이용하여 값을 가져온다.
package com.tistory.stove99; import java.util.Properties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class SampleBean { // Spring EL 로 값 가져오기 // Spring EL 이기 때문에 자유롭게 메소드 호출도 가능함. String 의 concat 메소드 호출 @Value("#{prop['sample.prop1'].concat(' abc')}") private String value1; @Value("#{prop['sample.prop2']}") private String value2; // util:properties 로 생성된 빈은 java.util.Properties 의 인스턴스이기 때문에 // 요렇게 Autowired 해서 쓸 수 있다. @Autowired Properties prop; public String val(String key){ return prop.getProperty(key); } public String toString(){ return String.format("value1 : %s, value2 : %s", value1, value2); } }4.다른방식으로 프로퍼티 값을 가져와본다.import org.springframework.context.support.ClassPathXmlApplicationContext; import com.tistory.stove99.SampleBean; public class SampleTest { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("config/spring/*-context.xml"); SampleBean sample = context.getBean(SampleBean.class); // test System.out.println(sample.val("sample.prop1")); // value1 : test abc, value2 : 우쭈쭈~ System.out.println(sample); } }
Spring EL에 대해서 더 알아보고 싶으면 요 사이트를 참고하면 친절하게 알려줌.
http://static.springsource.org/spring/docs/3.0.x/reference/expressions.html