Language/Spring Framework
[Spring 3] 프로퍼티(Properties) 읽기
과일가게 개발자
2014. 12. 9. 08:00
이전에 Java에서 프로퍼티 파일을 읽은 방법에 대해 포스팅 한 적이 있는데, 오늘은 Spring Framework에서 프로퍼티를 읽는 방법에 대해 포스팅해보겠다.
스프링 프레임워크는 참 많은 사람들이 생각하는것처럼 다양한 편의 기능들을 제공한다. 이 편의 기능들을 잘 활용하면 불필요한 코드를 줄일수 있는데,
오늘 포스팅하는 프로퍼티 파일을 읽는것도 스프링에서 제공하는 기능을 이용하면 쉽게 접근할 수 있다.
오늘은 컨트롤러나 서비스 모듈에서 프로퍼티 파일을 읽어오는 간단한 방법에 대한 예제이다.
1. 프로퍼티 파일(config.properties) 내용
#### Main DB Connection Info #### db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://127.0.0.1:3306/Test db.username=test db.password=test1234
#### Etc Info #### doc.path=D:\\test\\ |
2. servlet.xml 설정(예 : test-servlet.xml)
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations" value="/WEB-INF/config/config.properties"/> <property name="fileEncoding" value="UTF-8"/> </bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${db.driver}" /> <property name="url" value="${db.url}" /> <property name="username" value="${db.username}" /> <property name="password" value="${db.password}" /> <property name="initialSize" value="2"/> <property name="maxActive" value="20"/> <property name="maxIdle" value="20"/> <property name="maxWait" value="5000"/> <property name="poolPreparedStatements" value="true"/> <property name="validationQuery" value="select 1"/> <property name="testOnBorrow" value="true"/> <property name="testWhileIdle" value="true"/> <property name="timeBetweenEvictionRunsMillis" value="60000"/> </bean> |
3. 컨트롤러에서 불러오기(@Value 이용)
package kr.co.test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@Controller
public class PayMobileController {
// 프로퍼티 파일 읽기
@Value("${doc.path}")
private String m_docPath ;
}
@Value 를 통해 프로퍼티에서 정의한 항목에 대해 변수에 값을 할당할 수 있다.