Back-end/JAVA,Spring

[스프링]자바에서 설정파일(xml , properties.. ) 읽어들이기.

cheersHena 2019. 5. 30. 10:30
반응형


 

Apache Commons Configuration


:애플리케이션 운영 환경 설정에 사용하는 기술

- Apache commons 프로젝트 중 한 컴포넌트인 Configuration.

Commons Configuration은 일반화된 설정 인터페이스를 제공함으로써 자바 애플리케이션이 다양한 소스에서 설정을 읽을 수 있도록 해준다.

 

자바에서 설정 파일 읽어들이는 방법


* 순서 :


1.    [web.xml]

선언된 listener클래스 ContextLoaderListener 의해 RootWebApplicationContext영역을 구성 

applicationContext.xml


<listener>

        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

    </listener>

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

    <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>

            /WEB-INF/config/spring/applicationContext.xml

        </param-value>

    </context-param>

 


2. [applicationContext.xml ]

 

CommonConfigurationFactoryBean – Apache commoms의 여러 컴포넌트중 Configuration 스프링통합 컴포넌트. 하나이상의 소스에서 설정값을 읽은 Configuration을 등록한 후 PropertyPlaceholderConfigurerproperties필드에 대입해주면 등록된 configuration들에 담겨있는 설정값들을 Properties로 변환해서 전달해준다.

 

      <bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">

            <property name="systemPropertiesMode" value="2" />

            <property name="properties">

                  <bean

                        class="org.springmodules.commons.configuration.CommonsConfigurationFactoryBean">

                        <property name="configurations">

                              <list>


                                    <ref bean="configuration" />

                              </list>

                        </property>

                  </bean>

            </property>

      </bean>

 

Configuration 기능을 직접 쓰고 싶은 경우를 위해서 설정을 분리하고 필요한 객체에서 참조한다.

 

      <bean id="configuration" class="org.apache.commons.configuration.CompositeConfiguration">

            <constructor-arg>

                  <list>

                        <bean class="org.apache.commons.configuration.XMLConfiguration">

                              <constructor-arg type="java.lang.String">

                              <value>#{systemProperties['project.home']}/conf/project.xml</value>

                              </constructor-arg>

                        </bean>

                        <bean class="org.apache.commons.configuration.PropertiesConfiguration">

                              <constructor-arg type="java.lang.String">

                                   <value>#{systemProperties['project.home']}/conf/db.properties</value>

                              </constructor-arg>

                        </bean>

                  </list>

            </constructor-arg>

      </bean>

 

 


 즉 실제 설정해준 경로의 


 project.xml / db.properties 


설정파일들을 읽어들이고 참조할 수 있게 된다!!!!!!!!!!!! 

 

 


반응형