From 4ff83658af256334c61b41bc31fe945ac71b82a7 Mon Sep 17 00:00:00 2001 From: ParkSeongMin Date: Mon, 15 Feb 2016 09:42:52 +0900 Subject: [PATCH] =?UTF-8?q?dispatcher-servlet.xml=EC=97=90=20properties=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EC=9D=84=20=EC=82=AC=EC=9A=A9=ED=95=A0=20?= =?UTF-8?q?=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MvcPropertyPlaceholderConfigurer.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/main/java/com/nexacro/spring/beans/factory/config/MvcPropertyPlaceholderConfigurer.java diff --git a/src/main/java/com/nexacro/spring/beans/factory/config/MvcPropertyPlaceholderConfigurer.java b/src/main/java/com/nexacro/spring/beans/factory/config/MvcPropertyPlaceholderConfigurer.java new file mode 100644 index 0000000..e3f23f0 --- /dev/null +++ b/src/main/java/com/nexacro/spring/beans/factory/config/MvcPropertyPlaceholderConfigurer.java @@ -0,0 +1,35 @@ +package com.nexacro.spring.beans.factory.config; + +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; + +/** + * context-configuration.xml에 정의 된 propertyPlaceholderConfigurer 적용. + * + */ +public class MvcPropertyPlaceholderConfigurer implements BeanFactoryPostProcessor { + + /* +ContextLoaderListener에서 로드되는 Context-Configuration.xml에서 로드 되는 PropertyPlaceHolderCongiurer는 +해당 설정 파일들이 로드 된 후 해당 Factory가 생성 된후 properties를 변경하게 된다. +하지만 dispatcher-servlet.xml이 로드 될 때의 시점과 달라 context-configuration.xml에 정의 된 PropertyPlaceHolderConfigurer가 적용되지 않는다. + +이렇게 처리하는 방법 과 별도로 dispatcher-servlet.xml에 로 정의하는 방법이 있다. +하지만 암호화 처리를 위한 bean 등록도 필요하다. + */ + + private PropertyPlaceholderConfigurer configurer; + + public MvcPropertyPlaceholderConfigurer(PropertyPlaceholderConfigurer configurer) { + this.configurer = configurer; + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + configurer.postProcessBeanFactory(beanFactory); + } + + +} \ No newline at end of file