개발

Spring 설정 중 properties파일 xml에서 이용하기

Domaya 2023. 9. 24. 20:44

 

XML파일에서 db나 smtp, aws 설정 등을 해주게 되면

개인정보가 git 등에 노출되지 않도록 조심해야 한다

이 경우 properties파일을 이용한다.

 

properties파일을 사용해야 하는 xml에서

<!-- Properties 불러오기 -->
	<context:property-placeholder location="/WEB-INF/config/*.properties" /> 
	
 

이를 넣어주면 모든 properties파일을 읽어온다.

이번 프로젝트에서는 db와 mail 관련한 정보들을 properties에 넣었다.

 

 

db.properties

db.url=jdbc:oracle:thin:@localhost:1521:xe
db.username=db유저이름
db.password=비밀번호
 

 

mail.properties

mail.username=내아이디@naver.com
mail.password=내비밀번호
 

 

그리고 사용하려는 xml로 돌아오면...

	<!-- JDBC hikariCP -->
	<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> 
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="jdbcUrl" value="${db.url}" />
		<property name="username" value="${db.username}" /> 
		<property name="password" value="${db.password}" /> 		
	</bean>
 
	<!-- navermail설정 -->
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="smtp.naver.com" />
		<property name="port" value="587" />
		<property name="username" value="${mail.username}" />
		<property name="password" value="${mail.password}" />
		<property name="javaMailProperties">
			<props>
				<prop key="mail.debug">true</prop>
				<prop key="mail.smtp.auth">true</prop>
				<prop key="mail.smtp.starttls.enable">true</prop>
				<prop key="mail.mime.charset">UTF-8</prop>
				<prop key="mail.transport.protocol">smtp</prop>
			</props>
		</property>
	</bean>
 
 

${mail.username}과 같이

필요한 부분을 properties에서 불러올 수 있다.