대악인
350
2017-05-25 17:15:15
3
2190

스프링에서 abstractApplicationContext와 genericApplicationContext 차이


두개 모두 xml을 불러올 때 사용 하는걸로 알고 있고 


두개 모두 상위클래스가 같다는건 알고 있습니다.


두 클래스 모두 어떤 상황에 써야할지 잘 모르겠네요


구글링해봐도 답이 안나와서 질문 드립니다.


어떤 상황에쓰며 무슨차이인가요?

0
1
  • 답변 3

  • asdf234
    419
    2017-05-25 18:33:25

    registerShutdownHook 이라는 메서드가


    ConfigurableApplicationContext 라는 인터페이스에 선언되어있는데


    ConfigurableApplicationContext 인터페이스는


    AbstractApplicationContext 인터페이스를 implement 한다고 하네요.


    따라서 registerShutdownHook 메서드는 반드시 AbstractApplicationContext 개체(상속)로만 호출가능하답니다.


    registerShutdownHook 는 destroy를 호출한것처럼 bean을 셧다운 해준답니다.


    https://stackoverflow.com/questions/11851829/abstractapplicationcontext-vs-applicationcontext

    1
  • 에어요
    19
    2017-05-26 00:03:06

    빈은 라이프 사이클을 가집니다.

    컨테이너를 종료하는 과정에서, 빈이 소멸하는 절차를 거치는데 이 때 빈이 저라에 따라 소멸되지 못해 온전히 자원을 놓아주지 않을 수가 있습니다.
    그래서 이름처럼 셧다운되는 것을 훅하여 제대로 리소스를 놓아주기 위해 등록하는겁니다. 

    0
  • 대악인
    350
    2017-05-26 11:16:11

    감사합니다. 그럼 차이점은 셧다운을 해주느냐 차이겠군요?

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.