반응형
스프링 빈의 생명주기는
스프링 컨테이너 생성 - 빈 객체 생성 - 초기화 - 사용 - 소멸로 이루어진다.
왜 알아야 하는가?
DB 커넥션 풀과 같이 애플리케이션의 시작 지점에 특정 작업을 수행하고, 종료 시점에도 작업을 수행해야 하는 경우가 있다. 이때 빈 생명주기를 알고, 각 단계를 활용하면 유용하다.
빈 생명주기
먼저, 스프링 빈은 객체 생성이 이루어지고 의존 관계 주입이 이루어진다.
별도의 초기화 단계가 필요하다.
초기화 3가지
1. @Bean에 initMethod 지정
빈 어노테이션에 initMethod 이름을 옵션으로 부여하고, 메서드를 정의한다.
2. InitializingBean 인터페이스를 통해 afterProperitesSet 메서드를 오버라이드한다.
3. @PostConstruct 어노테이션을 사용한다. (가장 많이 사용)
소멸 3가지
1. @Bean에 destroyMethod 지정
initMethod와 같이 옵션을 부여하고 메서드를 정의한다.
2. DisposableBean 인터페이스를 사용한다.
3. @PreDestroy 어노테이션을 사용한다. (가장 많이 사용)
'Java' 카테고리의 다른 글
[Java] 생성자 (Constructor) (0) | 2021.05.07 |
---|---|
[Java Spring] TestRestTemplate (0) | 2021.04.19 |
[Java Spring] 트랜잭션 (Transaction) (0) | 2021.04.14 |
[Java] 롬복 Lombok (0) | 2021.04.13 |
[Java Spring] JPA Auditing (0) | 2021.04.10 |