강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dyko6154693
dyko6154693

câu hỏi đã được viết

Khóa học giới thiệu thực hành của Jaeseong Yoon dành cho nhà phát triển Spring Framework

Bài 9: Vòng đời của Bean

질문드립니다.

Viết

·

182

0

<bean id="t1" class="kr.co.softcampus.beans.TestBean1" lazy-init="true" 

init-method="bean1_init" destroy-method="bean1_destroy" scope="prototype" />

해당내용으로 beans.xml 설정 후 ctx.close( ); 를 호출하면,  bean1_destroy메서드는 호출이 안되는것으로 확인되는데 왜그럴까요! 싱글톤일땐 정상호출 되지만, 프로토타입으로하니깐 각각 객체 생성되어, init메서드는 정상호출이되고 destroy메서드만 호출이안되서 질의드립니다.

springjava

Câu trả lời 1

0

softcampus님의 프로필 이미지
softcampus
Người chia sẻ kiến thức

자바에서 객체는 가비지 컬렉션이 동작할 때 소멸됩니다. 

객체를 참조하는 변수나 컨테이너 등이 없을 경우 객체는 소멸의 대상이 되고

바로 소멸되지는 않습니다.

프로그램이 완전히 종료되거나 가비지 컬렉션이 동작해야 소멸이 되는데

이때, destroy 메서드가 호출된다고 생각하시면 됩니다.

사실 이 때문에 자바에서는 객체 소멸과 관계된 메서드는 사용하지 않는 편이기도 합니다.

Hình ảnh hồ sơ của dyko6154693
dyko6154693

câu hỏi đã được viết

Đặt câu hỏi