Spring
Spring 외부 설정 프로퍼티
pooney
2020. 4. 6. 03:21
흔히 git 을 사용할때 올리고 싶지 않은 파일의 경우 ignore를 사용하여 올리지 않는다 이경우 db의 내용이라던가 중요 내용은 올리면 안되는데 이것을 해결할때 프로퍼티를 사용하면 db프로퍼티 파일은 올리지않고 값을 넣어서 사용가능하다 .
1. 프로퍼티 파일을 만든다
2. 프로퍼티 파일의 내용
3. PropertyPlaceholderConfigurer 클래스를 빈으로 등록하여 사용 하거나 <context:property-placeholder> 태그를 사용하여 프로퍼티 설정값을 사용한다
3-1)
<context:property-placeholder> 태그를 사용하는 경우 xml에 추가 하고 이때 두개의 프로퍼티 파일을 사용할경우 콤마를 사용하여 분리하여 사용한다 , <context:property-placeholder>를 여러개 사용하는 경우 첫번째만 인식이 되어 에러가 발생한다
<context:property-placeholder location="classpath:/mailconfig.properties,classpath:/snsconfig.properties"/>
3-2)
PropertyPlaceholderConfigurer 클래스를 빈으로 등록하여 사용하는 경우 (두 개 이상의 PropertyPlaceholderConfigurer 빈을 설정하면 안된다 각각의 PropertyPlaceholderConfigurer 빈은 서로 프로퍼티 정보를 공유하지 않기 때문이다)
<bean class="org.springframwork.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<!-- 프로퍼티 파일 경로 지정 -->
<value>classpath:/mailconfig.properties</value>
</property>
</bean>
4. 설정값 사용
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destory-method="close">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}">
<property name="username" value="${jdbc.username}/>
<property name="password" value="${jdbc.password}/>
</bean>
참조자료