본문으로 바로가기

[스프링]24. 프로퍼티(properties) 값 가져와서 쓰기.

category SPRING/스프링 2021. 7. 16. 07:47
728x90
반응형
SMALL
스프링을 사용하다 감추고 싶은 정보들이 있을것이다.
DB 아이디 및 비밀번호, 이메일 등....
필자 같은경우 실제 아이디 및 비밀번호를 유출해본 경험이 있으므로....
소스 코드 내에 직접적인 값 명시는 피해보도록 하자.
프로퍼티에 민간한 값들을 저장하여 따로 관리하고
직접 값이 아닌 래퍼런스 형식의 값으로 사용하여 보안화? 시켜보자

 

 

간단히 계정정보를 가져다 쓰는 방식을 하겠다. DB 및 다른 정보들도 이를 활용하면된다.

email.properties

util 프로퍼티

JAVA, JSP, XML 모든 곳에서 value 값을 호출할 수 있다.

    <util:properties id="property" location="프로퍼티 파일위치" />
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- 프로퍼티 파일 삽입 (여러개면 콤마로 구분해서 한번에 넣어줄 수 있음) -->
    <util:properties id="property" location="/WEB-INF/properties/email.properties" />
    
    
        <!-- 회원가입 이메일 인증 -->
    <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="#{property['useremail']}"/> <!-- 자신의 이메일 아이디 -->
     <property name="password" value="#{property['userpw']}"/> <!-- 자신의 비밀번호 -->
       <!-- 보안연결 SSL과 관련된 설정 -->
     <property name="javaMailProperties">
      <props>
      <prop key="mail.smtp.auth">true</prop>
      <prop key="mail.smtp.starttls.enable">true</prop>
      <prop key="mail.smtps.checkserveridentity">true</prop>
      <prop key="mail.smtps.ssl.trust">*</prop>
      <prop key="mail.debug">true</prop>
      <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
      </props>
     </property>
    </bean>
cs

네임스페이스 에서 util이 체크되있는지 마지막으로 확인해주자.

 

쓰이는 문법

-JAVA

@Value("#{property['useremail']}")
	private String website_Email;

-XML

<property name="username" value="#{property['useremail']}"/>

-JSP

<%@ taglib uri="http://www.springframework.org/tags"  prefix="spring"%>
<spring:eval expression="@property['useremail']"/>

 

728x90
반응형
LIST