강의

멘토링

커뮤니티

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

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

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

9강 16:50초

Viết

·

118

0

default-init-method와 , default-destroy-method를 bean태그 안이 아니고 beans 태그 안에 넣으셨는데, 이렇게 하면 default-destroy-method나 default-init-method를 bean 태그 안에 안 넣으면 자동으로 실행을 해주는 거잖아요.

그럼 만약에 TestBean2 클래스안에 default_init, default_destroy와 똑같은 이름의 메서드가 없으면 실행 안하는걸로 이해했는데 맞나요?
그리고 id가 t1인 bean태그에 init-method, destroy-method를 안썼다면 beans태그에 작성해놓은 default 속성들이 실행이 될텐데 똑같은 이름의 메서드가 있으면 id-t1인 bean 객체에도 default 속성에 지정해놓은 메서드가 실행되는건가요?

javaspring

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다. edwin.dkim님, 질문해주셔서 감사합니다.

스프링 설정에서 default-init-methoddefault-destroy-method 속성은 beans 태그에 정의함으로써, 개별적인 bean 태그에 메서드를 별도로 명시하지 않아도 기본적으로 해당 메서드들이 호출되도록 합니다.

  1. 메서드가 없는 경우: TestBean2 클래스에 default_init, default_destroy와 같은 메서드가 없으면, 당연히 호출할 메서드가 없기 때문에 실행되지 않습니다. 따라서, 해당 메서드들이 클래스에 존재해야만 기본 설정에 의해 자동으로 호출됩니다.

  2. 개별 bean 설정이 없는 경우: 만약 idt1bean 태그에 init-methoddestroy-method가 명시되어 있지 않고, beans 태그에 default-init-methoddefault-destroy-method가 설정되어 있다면, t1 객체가 초기화되거나 소멸될 때 default 속성에 지정된 메서드가 실행됩니다. 즉, 메서드가 객체에 존재하는 경우에 한해 자동으로 호출됩니다.

이와 관련된 질문에서 더 자세한 답변을 원하신다면, 아래의 유사 질문 링크를 참고해보세요:
- 그러면 prototype에 lazt-init 설정하는 건 무의미한 건가요?

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

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

Đặt câu hỏi