programing

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

muds 2023. 10. 3. 11:38
반응형

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

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

나는 다음을 배웠습니다.

  1. ApplicationContext는 상위 ApplicationContext를 둘 이상 가질 수 없습니다.
  2. 지정된 ApplicationContext가 빈을 확인할 수 없을 때는 해결 요청을 부모에게 전달합니다.
  3. ApplicationContext의 상위가 해당 생성자에 지정되어 있습니다.

ApplicationContext 계층을 사용할 때(단일 ApplicationContext가 아닌) 이해하고 싶습니다.

내가 구글에서 얻을 수 있는 최선은 이것이었습니다. 그리고 애플리케이션이 다양한 계층에 정의된 많은 수의 빈(bean)을 가지고 있다면 각각의 계층이 고유한 ApplicationContext를 가지고 있는 것이 이점이 될 것입니다.이해되지 않는 것은 그렇게 함으로써 얻을 수 있는 이점이 무엇이며, 그 이점은 어떻게 달성됩니까?

대표적인 사용 사례는 스프링이 여러 개일 때입니다.DispatcherServlet각각의 서블릿은 고유한 앱 컨텍스트를 가지고 있지만 서로 공유해야 하는 하나의 웹 앱 내에 있습니다.이 경우 웹 앱 수준에서 세 번째 컨텍스트를 추가합니다. 이 컨텍스트는 각 서블릿 앱 컨텍스트의 상위입니다.

예를 들어 여러 웹 앱이 하나의 Java EAR에 번들로 포함되어 있는 경우 이 패턴을 더 자세히 파악할 수 있습니다.여기서 EAR은 서블릿 컨텍스트의 상위인 개별 웹앱 컨텍스트의 상위인 자체 컨텍스트를 가질 수 있습니다.당신은 책임의 계급을 가지고 있습니다.

다른 상황에서는 컨텍스트 구조가 다른 요인에 의해 결정됩니다.예를 들어, Spring Security는 Spring MVC와 독립적이며 웹 앱 컨텍스트에서 해당 구성 빈을 사용해야 합니다.Spring MVC를 함께 사용하려면 이에 대한 구성이 루트 웹앱 컨텍스트를 상위로 가지는 서블릿 컨텍스트로 이동해야 합니다.

언급URL : https://stackoverflow.com/questions/5132604/why-use-spring-applicationcontext-hierarchies

반응형