정리자 - 이태혁(Lee, TaeHyuk)

[Section7 빈 생명주기 콜백]

7-1) 빈 생명주기 콜백 시작

데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 App의 시작 시점에 필요한 연결을 미리 하고, App 종료시점에 연결을 모두 종료하는 작업을 진행하기 위해서는 객체의 초기화와 종료 작업이 필요함.

스프링이 실행될때 네트워크 특히 DataBase랑 어떻게 연결되는지, 스프링 빈 생성과 초기화는 어떻게 되는지 등의 LifeCycle에 대해서 알아보도록 하자.

여태까지 알아본 스프링의 동작 과정을 한 번 살펴보도록 하자!

<aside> 💡 스프링 컨테이너 생성→ 스프링 빈 (객체) 생성 → 의존관계 주입

</aside>

이렇까지는 알수 있을 것이다.

여기서 잘 알아야 할 것이 스프링 빈 (객체) 생성의존관계 주입의 순서에 대한 것인데, 여태까지 우리가 다루었던 스프링 빈을 스프링 컨테이너에 등록하는 방법은 두 가지가 존재한다.

[스프링 컨테이너에 스프링 빈 등록하는 방법]

  1. @Configuration이 되어 있는 AppConfig.java (설정파일)을 직접 만들어서 SpringBean Container에 직접 넣어주는 방식.
  2. ComponentScan 기능을 이용해 @Component로 등록하는 방법이 존재한다.

여기서 스프링 빈(Class, 객체)들의 멤버 변수들의 주입 방식에 따라 스프링 빈 생성, 의존관계 주입이 분리되는지 분리되지 않는지가 결정이 된다.

  1. 생성자 주입