복붙노트

[SPRING] ConfigurableApplicationContext 및 ApplicationContext

SPRING

ConfigurableApplicationContext 및 ApplicationContext

나는 한동안 스프링 프레임 워크를 배우고 있지만 초기화 및 파괴 콜백을 찾을 때마다 모든 예제는 ApplicationContext 대신 ConfigurableApplicationContext를 사용합니다. 누군가 이유를 설명 할 수 있습니까?

해결법

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

    1.ApplicationContext의 모든 일반적인 구현은 사실 ConfigurableApplicationContext입니다. ConfigurableApplicationContext의 javadoc에서 추출하십시오.

    ApplicationContext의 모든 일반적인 구현은 사실 ConfigurableApplicationContext입니다. ConfigurableApplicationContext의 javadoc에서 추출하십시오.

    SPI 인터페이스는 모든 응용 프로그램 컨텍스트가 아닌 대부분에 의해 구현됩니다.

    ApplicationContext 클라이언트 코드에 명확하게 표시되지 않도록 구성 및 라이프 사이클 메소드가 여기에 캡슐화되어 있습니다. 현재 방법은 시작 및 종료 코드에서만 사용해야합니다.

    즉, 응용 프로그램 컨텍스트를 사용할 때 (예 : Bean을 가져 오면 ApplicationContext로만 사용하지만 수명주기 (초기화 및 소멸)를 관리 할 때는 ConfigurableApplicationContext의 메소드를 사용함)

  2. ==============================

    2.ApplicationContext : Bean-factory (Core 컨테이너)와 비교할 때 가장 강력한 컨테이너입니다.

    ApplicationContext : Bean-factory (Core 컨테이너)와 비교할 때 가장 강력한 컨테이너입니다.

    ConfigurableApplicationContext : ApplicationContext 컨테이너 구현 중 하나입니다. 이 컨테이너는 이벤트 처리 제안에 사용됩니다.

    다음 메소드를 구현하고 Bean 클래스가 ApplicationListner 인터페이스를 확장하면 이러한 메소드가 실행될 때 Bean이 관련 이벤트를 가져옵니다.

    void refresh()
    void close();
    void shutdown();
    
  3. from https://stackoverflow.com/questions/30861709/configurableapplicationcontext-vs-applicationcontext by cc-by-sa and MIT license