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

유찬희님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

애노테이션 @PostConstruct, @PreDestroy

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

작성

·

214

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

감사합니다.