Java

[Java Spring] 빈 생명주기 (Bean Life cycle)

씬프 2021. 4. 16. 10:52
반응형

스프링 빈의 생명주기는

 

스프링 컨테이너 생성 - 빈 객체 생성 - 초기화 - 사용 - 소멸로 이루어진다.

 

왜 알아야 하는가?

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