요르딩딩

context-common.xml 에 대해 알아보자 본문

[Web]/[Spring]

context-common.xml 에 대해 알아보자

요르딩딩 2021. 9. 15. 14:28
728x90
반응형
context-common.xml

 

<context:component-scan base-package="com.A.B.C">

   <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>

=> component-scan 빈으로 등록 될 준비를 마친 클래스들을 스캔하여, 빈으로 등록해주는 것.

     (@Controller, @Service, @Component, @Repository 어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것이다.)

 

=> base-package는 패키지를 어디부터 스캔할지 지정해주는 부분.

     (base package 기준으로 클래스들을 스캔하여 빈으로 등록)

 

=> stereotype은 간략히 말해, 고정된 또는 일반적인 패턴을 의미.

 

=> exclude-filter @Controller 를 제외하고 싶을때 사용

     use-default="false" 기본 어노테이션 @Controller, @Component @Service등을 스캔하지 않음.

     include-filter은 기본 어노테이션을 스캔하지 않는다고 설정하고, include-filter를 통해서 특정 어노테이션만 스캔할 수 있음

 

<bean id="AAA" class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">

   <property name="algorithm" value="PBEWithMD5AndDES" />

   <property name="passwordEnvName" value="APP_ENCRYPTION_PASSWORD" />

=> algorithm 암/복호화 알고리즘이다. 암호화 할 때 쓴 알고리즘 이름을 넣어야 함.

=> passwordEnvName 환경변수로 지정한 키 값

    프로젝트가 서버에 올라와 있다면 환경변수명을 value값과 같게 생성하고,

    값에는 password 값을 넣어주고 난 뒤 Tomcat을 재시작하면 정상적으로 동작하는 것을 확인 할 수 있습니다.

 

    주의할 점은 Eclipse에서는 윈도우의 환경변수를 읽어오지 못한다는 것입니다.

    아래와 같이 해줘야 Eclipse에서 환경변수를 읽어오는 것이 가능해집니다.

    Run - Run Configurations - 현재 사용중인 Tomcat 선택 - Environment탭 클릭 - 환경변수 추가

 

참고:https://its-easy.tistory.com/16 

 

<bean id="BBB" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">

   <property name="config" ref="AAA" />

   <property name="password" value="AAAAAA" />

=> StandardPBEStringEncryptor PBEEncryptor를 상속받는 다른 클래스도 사용

 

<bean id="propertyCofigAAAAA" class="org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer">

        <constructor-arg ref="BBB" />

        <property name="locations">

            <list>

                <value>classpath:/conf/globals.properties</value>

                <value>classpath:/conf/jdbc.properties</value>

=> 1. PropertyPlaceholderConfigurer를 이용한 properties 파일 읽어오기

=> 암호화 된 값들이 있는 .properties 파일의 위치를 설정

 

<util:properties id="AAAProperties" location="classpath:/conf/globals.properties"/>

=> 2 <util:properties/>를 이용한 properties 파일 읽어오기

=> 읽어드릴 properties id를 정하고, 위치를 입력

728x90
반응형
Comments