본문 바로가기
Back-end/Spring Framework

java spring 스프링 설정 파일 분리 (xml), 범위

by javapp 자바앱 2020. 7. 26.
728x90

하나의 xml 을 기능별로 분리하여 작성할 경우 유지보수, 관리가 쉬워진다.

기능별, DB설정, DB연결이 필요한 작업-기능 등등

 

분리된 파일을 불러올 때

             String[] appCtxs = {"classpath:appCtx1.xml", "classpath:appCtx2.xml", "classpath:appCtx3.xml"};

             GenericXmlApplicationContext ctx =

                           new GenericXmlApplicationContext(appCtxs);

 


import도 가능

스프링 설정 파일에서

       <import resource="classpath:appCtx2.xml"/>

       <import resource="classpath:appCtx3.xml"/>

 

그렇게 할 경우 import 한 파일만 불러도 된다.

             GenericXmlApplicationContext ctx =

                           new GenericXmlApplicationContext("classpath:appCtxImport.xml");

 

 

 


      스코프를 프로토타입으로 지정할 경우

 

       <bean id="injectionBean" class="scope.ex.InjectionBean" />

      

       <bean id="dependencyBean" class="scope.ex.DependencyBean" scope="prototype">

             <constructor-arg ref="injectionBean" />

             <property name="injectionBean" ref="injectionBean" />

       </bean>

 

-->

기본 설정은 싱글톤으로 객체가 같지만

프로토타입일 경우 

dependencyBean01dependencyBean02 는 다른 객체이다.

 

             DependencyBean dependencyBean01 =

                           ctx.getBean("dependencyBean", DependencyBean.class);

            

             DependencyBean dependencyBean02 =

                           ctx.getBean("dependencyBean", DependencyBean.class);

            

 

 

댓글