-
[Spring Core] 공식문서 공부 - 1.2 Container OverviewJAVA/Spring 2022. 8. 21. 11:32
https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#spring-core
Core Technologies
In the preceding scenario, using @Autowired works well and provides the desired modularity, but determining exactly where the autowired bean definitions are declared is still somewhat ambiguous. For example, as a developer looking at ServiceConfig, how do
docs.spring.io
org.springframework.context 패키지에 존재하는 ApplicationContext 인터페이스는 Spring IoC 컨테이너를 나타낸다.
이러한 Spring IoC 컨테이너는 구성 메타데이터(configuration metadata)를 통해서 어떤 객체를 생성하고 관리할지에 대한 정보를 얻는다. 구성 메타데이터(configuration metadata)의 경우 XML, 자바 어노테이션, 자바 코드 등의 형태로 작성할 수 있으며, XML 형태로 작성하는 것이 전통적인 방식이다.
Spring은 ApplicationContext 인터페이스의 몇몇 구현체를 제공하고있다.
일반적으로, stand-alone 방식의 어플리케이션(e.g. apache tomcat)에서는 ApplicationContext의 구현체인 ClassPathXmlApplicationContext나 FileSystemXmlApplication 클래스를 사용한다.
대부분의 어플리케이션에서 한 개 이상의 Spring IoC 컨테이너의 인스턴스를 인스턴스화 하는데 유저 코드가 필요하지 않다.
실제로, 웹 어플리케이션 시나리오에서는 8줄 정도의 재사용 가능한 간단한 코드가 적힌 web.xml 파일이 제공되기도 한다.
지금까지의 내용을 다이어그램으로 정리해보면 아래와 같다.

Figure 1. Spring Ioc 컨테이너 먼저, ApplicationContext 인터페이스의 구현체가 생성되고 초기화(initialized)된다. - 컨테이너 생성 및 초기화
다음으로, 컨테이너가 구성 메타데이터(Configuration Metadata) 파일로부터 읽어들인 정보를 통해 어플리케이션에 필요한 객체들을 생성한다.
이후 어플리케이션 구성이 완료되고 어플리케이션을 실행할 수 있게 된다.
'JAVA > Spring' 카테고리의 다른 글
[Spring Core] 공식문서 공부 - 1.2.2 Instantiating a Container (0) 2022.08.21 [Spring Core] 공식문서 공부 - 1.2.1 Configuration Metadata (0) 2022.08.21 [Spring Core] 공식문서 공부 - 1.1 Introduction to the spring IoC Container and Beans (0) 2022.08.20 [Spring Core] 공식문서 공부 - 1. The IoC Container (0) 2022.08.20 [Spring] 공식문서 공부 - Overview (0) 2022.08.20