2016-06-24 5 views
1

Spring MVC에서 사용되는 IOC 컨테이너는 무엇이며 컨테이너를 1 개 이상 사용할 수 있습니까?Spring MVC의 IOC 컨테이너

스프링을 사용하여 여러 개의 IOC 컨테이너를 사용할 수 있다는 것을 알고 있습니다. 그러나 Spring MVC에서 같은 것을 사용할 수 있을까요?

답변

2


은 무엇을 목적으로 컨테이너가 사용됩니다

스프링 컨테이너는 스프링 프레임 워크의 핵심입니다. 컨테이너는 객체를 만들고, 서로 연결하고, 구성하고, 생성에서 삭제까지의 전체 라이프 사이클을 관리합니다. Spring 컨테이너는 DI (Dependency Injection)를 사용하여 애플리케이션을 구성하는 컴포넌트를 관리한다. 이러한 객체를 Spring Bean이라고합니다. 컨테이너는 제공된 구성 메타 데이터를 읽어서 인스턴스화, 구성 및 조합 할 개체에 대한 지침을 가져옵니다. 구성 메타 데이터는 XML, Java 주석 또는 Java 코드로 나타낼 수 있습니다. 다음 다이어그램은 Spring의 작동 원리를 개괄적으로 보여줍니다. Spring IoC 컨테이너는 Java POJO 클래스와 구성 메타 데이터를 사용하여 완벽하게 구성되고 실행 가능한 시스템 또는 애플리케이션을 생성한다.이
대답 YES

흔히 사용, 스프링 MVC 프로젝트에이 두 가지입니다 : Check for more information here

우리가 & 우리가 사용할 수있는 1 개 이상의 컨테이너를 사용할 수 스프링 MVC이다 "containers": ContextLoaderListener에 의해 생성되고 다른 하나는 DispatchServlet에 의해 생성됩니다.

봄 문서에서보세요 :

스프링 IoC 컨테이너를 나타내며, 인스턴스 구성 및 상기 콩 조립을 담당 org.springframework.context.ApplicationContext 인터페이스입니다. 컨테이너는 구성 메타 데이터를 읽음으로써 인스턴스화, 구성 및 어셈블 할 객체에 대한 지침을 가져옵니다. 구성 메타 데이터는 XML, Java 어노테이션 또는 Java 코드로 표시됩니다. 공식 문서에서 다시

: 웹 MVC 프레임 워크에서

, 각각의 DispatcherServlet은 이미 루트 WebApplicationContext에 정의 된 모든 bean을 상속하는 자체적 인 WebApplicationContext를 가지고있다. 이러한 상속 된 bean은 서블릿 특정 범위에서 대체 될 수 있으며 지정된 Servlet 인스턴스에 대해 새 범위 특정 bean을 정의 할 수 있습니다.

당신은의 DispatcherServlet의 WebApplicationContext를 이미 루트 WebApplicationContext에 정의 된 모든 bean을 상속하는 것을 발견 했습니까?
이러한 컨테이너가 서로 어떻게 사용되는지 알 수 있습니다.