개발 기록
스프링 빈 라이프 사이클 본문
스프링 빈의 이벤트 라이프 사이클 (싱글톤의 경우)
스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용(애플리케이션 동작) -> 소멸전 콜백
-> 스프링 종료
*스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려주는 기능 제공
*방법은 여러가지이지만 애노테이션을 주로 사용
//의존관계 주입 완료 후 실행 메소드
@PostConstruct
public void init() {
connect();
call("초기화 연결 메세지");
}
//컨테이너 종료시 호출
@PreDestroy
public void close() {
disconnect();
}
* 객체 생성시 생성자에서 처리하면 되지 않을까?! ( 의존관계 주입을 다 생성자 주입으로 )
--> 객체의 생성과 초기화는 분리하는 것이 좋음
--> 초기화는 생성된 값을 활용해서 외부 커넥션을 연결하는 등 무거운 동작을 수행함
--> 생성자 안에서 무거운 초기화 작업을 같이 하지 않는 것이 유지보수 관점에서 좋다.
'JAVA > 스프링' 카테고리의 다른 글
스프링 DB 1편 - 데이터 접근 핵심 원리 후기 (1) | 2022.10.27 |
---|---|
빈 스코프 (0) | 2022.03.15 |
조회한 빈이 모두 필요할 때, List, Map (0) | 2022.03.10 |
다양한 의존관계 주입 방법 (0) | 2022.03.10 |
싱글톤 (0) | 2022.03.07 |
Comments