복붙노트

[SPRING] Spring ApplicationContext 계층 구조를 사용해야하는 이유는 무엇입니까?

SPRING

Spring ApplicationContext 계층 구조를 사용해야하는 이유는 무엇입니까?

Spring에서 ApplicationContext 계층 구조를 이해하려고합니다.

나는 다음과 같은 것을 배웠다.

ApplicationContext 계층 (단일 ApplicationContext 대신)을 사용할시기를 알고 싶습니다.

내가 구글에서 얻을 수있는 최선은 이것이었다. 그리고 내가 이해할 수있는 것은, 애플리케이션이 다양한 레이어에 정의 된 많은 수의 bean을 가지고 있다면, 각각의 레이어가 자체 ApplicationContext를 갖는 것이 이점이 될 것이라는 것입니다. 무엇을 이해하지 못하는 것은 그렇게하는 것의 이점이며, 그 이익은 어떻게 달성되는 것입니까?

TIA, 비제이

해결법

  1. ==============================

    1.이것에 대한 전형적인 유스 케이스는 하나의 웹 애플리케이션 내에 여러 개의 Spring DispatcherServlet이 있고 각 서블릿이 자신의 앱 컨텍스트를 가지고 있지만 그 사이에 빈을 공유해야하는 경우입니다. 이 경우 서블릿 appcontext 각각의 부모 인 webapp 레벨에서 세 번째 컨텍스트를 추가합니다.

    이것에 대한 전형적인 유스 케이스는 하나의 웹 애플리케이션 내에 여러 개의 Spring DispatcherServlet이 있고 각 서블릿이 자신의 앱 컨텍스트를 가지고 있지만 그 사이에 빈을 공유해야하는 경우입니다. 이 경우 서블릿 appcontext 각각의 부모 인 webapp 레벨에서 세 번째 컨텍스트를 추가합니다.

    이 패턴을 더 취할 수 있습니다. 예를 들어 하나의 JavaEE EAR에 여러 개의 웹 응용 프로그램이 번들되어있는 경우입니다. 여기서 EAR은 자체 컨텍스트를 가질 수 있습니다.이 컨텍스트는 개별 웹 응용 프로그램 컨텍스트의 부모이며 서블릿 컨텍스트의 부모입니다. 당신은이 책임 계층을 가지고 있습니다.

    다른 상황에서 컨텍스트 구조는 다른 요인에 의해 결정됩니다. 예를 들어, Spring Security는 Spring MVC와는 별개이며, Webapp 컨텍스트에서 컨피규레이션 빈을 필요로합니다. Spring MVC를 사용하기 원한다면, 그 config를위한 부모 webapp 컨텍스트를 가진 서블릿 컨텍스트로 들어가야한다.

  2. from https://stackoverflow.com/questions/5132604/why-use-spring-applicationcontext-hierarchies by cc-by-sa and MIT license