인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

유찬희님의 프로필 이미지
유찬희

작성한 질문수

스프링 핵심 원리 - 기본편

애노테이션 @PostConstruct, @PreDestroy

@PostConstruct,@PreDestroy 빈 생명주기 콜백 과정 하나하나 질문

작성

·

224

0

제가 과정을 잘 아는지 체크하고 싶어요.

그리고 의존관계 주입이 어디까지를 말하는건지 알고 싶어요

 

ConfigurableApplicationContext ac = new AnnotationConfigApplicationContext(LifeCycleConfig.class);

에서

1. LifeCycleConfig.class가 파라미터로 들어가면

2. 이제 스프링 컨테이너에 LifeCycleConfig.class 안에 @Bean이 지정된 networkClient()가

스프링 빈에 등록되면서 이때 객체가 만들어지는거죠?

3. 그러면서 생성자가 발생되고,

4. 이렇게 생성자까지 설정되고 나면, // 여기까지가 의존관계 주입 이라는 거죠?

5. @PostConstruct의 init()이 실행되고 // init() 안에 connet()가 있는데, connet 하는게

//의존관계 주입이라는 건가요?

6. ac.close()가 발생되기 전에 @PreDestroy가 설정되는거겠죠?

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 유찬희님

의존관계 주입이라는 것은 생성자나 외부 메서드를 통해서 다른 객체의 참조를 넘겨주고 설정하는 것을 뜻합니다.

@PostConstruct 나 초기화 같은 부분은 의존관계 주입과 관련이 되어 있지만 이것은 의존관계 주입이 아닙니다. (의존관계 주입 이후에 어떤 일을 하고 싶을때 실행하는 일이라 보시면 됩니다.)

감사합니다.

유찬희님의 프로필 이미지
유찬희

작성한 질문수

질문하기