스프링 핵심원리 기본편10 - BeanFactory와 ApplicationContext & 자바 코드, XML
본문 바로가기

TIL/스프링 핵심원리 - 기본편 with 인프런(김영한님)

스프링 핵심원리 기본편10 - BeanFactory와 ApplicationContext & 자바 코드, XML

반응형

안녕하세요 오늘은 김영한의 스프링 핵심원리 기본편 공부를 정리해 보도록 하겠습니다.
 
BeanFactory
* 스프링 컨테이너의 최상위 인터페이스
* 스프링 빈을 관리 조회 역할
 
ApplicationContext
* BeanFactory의 기능을 모두 상속받아 제공
* 빈 관리 조회 기능뿐만 아니라 수많은 부가기능 제공하여 BeanFactory와의 차별


빈팩토리와 어플리케이션컨택스트를 스프링 컨테이너라고 부릅니다.
 
다양한 설정 형식 지원
스프링 컨테이너는 다양한 형식의 설정 정보를 받아들일 수 있게 유연하게 설계되어 있습니다. 
 
지금 까지는 에노테이션 컨피그를 사용하여 설정정보를 저장하였습니다. (AppConfig.class)
요즘은 xml기반의 설정정보를 잘 사용하지 않지만 한번 공부해 보면 좋다고 강의를 진행해 주셨습니다.
xml 사용 시 컴파일 없이 빈 설정 정보를 변경할 수 있는 장점이 있습니다.
 
xml을 사용하기 위해서는 resource 아래에 xml 파일을 생성해 주어야 하며 AppConfig와 동일하게 빈을 모두 생성해주어야 합니다.
 

1
2
3
4
<bean id="orderService" class="hello.core.order.OrderServiceImpl">
        <constructor-arg name="memberRepository" ref="memberRepository" />
        <constructor-arg name="discountPolicy" ref="discountPolicy" />
    </bean>
cs

 
위와 같이 xml 파일에 빈을 등록해 주어야 합니다.

1
    ApplicationContext ac = new GenericXmlApplicationContext("appConfig.xml");
cs

 

그리고 xml을 저장해줄 ApplicationContext를 만들어 설정 파일을 저장합니다.

 

그런다음 test에서 Assertions.assertThat을 통해 확인해 보면 정상 작동이 되는것을 확인할수 있습니다.

 

금일 공부는 정리는 요기서 마치겠습니다.

 

감사합니다.

 

 

 

 

반응형