스프링은 빈을 언제 초기화하고, 종료할까?
생성자를 만들 때는 정말 필수적인 정보만 받게 해야 한다. 반면 초기화는 본격적인 무거운 작업들을 진행하면 된다.
그 둘을 잘 분리하는 것이 중요하다. 생성자를 만들 때는 무거운 작업을 하라고 만든 것이 아니기 때문이다.
스프링이 처음 만들어지거나, 없어지기 직전에 자기한테 의존하는 애들한테 알려주는 것을 위와 같이 세 경우에 진행한다.
InitializingBean, DisposableBean
InitilizingBean은 afterPropertiesSet을, DisposableBean은 destroy 메서드를 지원함.
=> 코드레벨까지 너무 의존적이라 거의 안 씀.
빈 등록 초기화, 소멸 메서드 지정
애노테이션 @PostConstruct, @PreDestroy
결론부터 말하면 그냥 세개중에 이거 쓰면 된다. 킹-노테이션.
근데 웃긴 게, 스프링 종속 기술이 아니라 javax.annotation...이다. 자바 표준이기 때문에 스프링이 아닌 다른 컨테이너에서도 동작한다. 그래서 더욱 좋은 것.
결론
'백엔드 잡학사전' 카테고리의 다른 글
[스프링 리뷰] (1) | 2024.09.14 |
---|---|
[스프링 핵심] 빈 스코프 & 프로토타입 빈 (0) | 2024.08.20 |
[스프링 핵심] 의존관계 자동 주입 +α (0) | 2024.08.19 |
[스프링 핵심] 컴포넌트 스캔 & 의존관계 자동 주입 (0) | 2024.08.18 |
[스프링 핵심] 싱글톤 컨테이너 (0) | 2024.08.18 |