java, spring

스프링 프레임워크가 root-context.xml 읽어 들이는 순서

isaac.kim 2021. 5. 8. 10:58
728x90
반응형

스프링 프레임워크가 root-context.xml 읽어 들이는 순서

 

먼저 지난 글에 대한 이해를 바탕으로 글이 작성되었음을 알립니다.

lifere.tistory.com/101

 

스프링 프로젝트에 Lombok 적용과 의존성 주입(DI) 확인하기

스프링 프로젝트에 Lombok 적용과 의존성 주입(DI) 확인하기 lifere.tistory.com/99 스프링 프레임워크 Lombok 라이브러리 설치 스프링 프레임워크 Lombok 라이브러리 설치 지난 글 lifere.tistory.com/98 스..

lifere.tistory.com

 

 

스프링 프레임워크는 실행되면서 스프링이 사용하는 메모리 영역을 만들게 되는데 이를 Spring Context라고 합니다. Spring Context에는 ApplicationContext라는 이름의 객체가 만들어집니다. 

 

스프링은 자신이 객체를 생성하고 관리해야 하는 객체들에 대한 설정이 필요합니다. 이에 대한 설정이 root-context.xml 파일입니다.

 

root-context.xml에 설정되어 있는 <context:component-scan> 태그의 내용을 통해 패키지를 스캔하기 시작합니다.

아래 이미지는 지난 글에서 root-context.xml 에 등록했던 소스 입니다. 여기서는 com.project.sample을 scan 하게 되는 것이죠.

 

Java Configuration으로 진행한 것도 마찬가지입니다.

 

해당 패키지에 있는 클래스들 중에서 스프링이 사용하는 @Component라는 어노테이션이 존재하는 클래스의 인스턴스를 생성합니다.

root-context.xml 의 Beans Graph를 보면 확인할 수 있습니다.

Restaurant 객체는 Chef 객체가 필요하다는 어노테이션(@Autowired) 설정이 있으므로, 스프링은 Chef 객체의 레퍼런스를 Restaurant 객체에 주입합니다.

728x90
반응형