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>


 

 

참조자료 

 

https://devbox.tistory.com/entry/Spring-%EC%99%B8%EB%B6%80-%EC%84%A4%EC%A0%95-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0