2017-09-09 1 views
-1

Bean 수명주기 란 무엇입니까? 왜 Inversion 제어가 destroy() 메소드를 자동으로 호출하지 않을까요? 왜 명시 적으로 호출할까요?스프링 콩 수명주기 관리 방법으로 마무리?

+1

[스프링 빈의 수명주기는 무엇입니까?] (https://stackoverflow.com/questions/13988720/what-is-the-lifecycle-of-spring-bean) –

+0

@MohitTyagi는 아마 최종 설정이 아닙니다. dup 대상에 언급되지 않았습니다. –

+0

@ suurya 왜 파이널 라이즈를 제어해야합니까? Java에서는'finalize()'가 호출 될 것이고, 그것에 의존하는 코드는 신비한 방식으로 실패 할 수 있습니다. 하지 마. 대신 Spring 문서에서 [Destruction Callbacks] (https://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-lifecycle-disposablebean)를 읽으십시오. –

답변

1

finalize() 메서드는 Spring bean 수명주기와 아무런 관련이 없습니다.
이 메서드는 개체가 쓰레기 수거 후 얼마 후에 호출됩니다.
정확하게이 메서드가 호출되는시기를 예측하기 어렵 기 때문에이 메서드를 무시하면 나쁜 연습으로 간주됩니다.
어쨌든 절대로 직접 호출해서는 안됩니다.

봄 빈 수명주기는 here으로되어 있습니다. '파괴 콜백'을 검색하십시오.
일반적으로 빈의 일부 메소드에 @PreDestroy 주석을 달아 주석 처리하며 Spring 컨테이너가 파괴 될 때이 메소드가 호출됩니다.

관련 문제