Spring/Lombok

@PostConstruct @PreDestroy

JWonK 2022. 5. 8. 19:40
728x90
반응형

▶ 언제 사용할까?

종속성 주입이 완료된 후 실행되어야 하는 메서드에 사용된다. 

딱 한 번만 받아오면 되는 값을 사용 할 때마다 요청을 새로 호출하는 실수를 방지. 

@PostConstruct로 WAS가 뜰 때 한 번만 기본값을 세팅해두고 두고 두고 사용한다.

 

▶ @PostConstruct란,

@PostConstruct는 의존성 주입이 이루어진 후 초기화를 수행하는 메서드이다. @PostConstruct 어노테이션을 설정해놓은 init 메서드는 WAS가 띄어짐과 동시에 실행된다. 이 메서드는 다른 리소스에서 호출하지 않는다고 하더라도 수행된다.

 

 

▶ @PostConstruct 사용 이유

1) 생성자가 호출되었을 때, 빈은 초기화되지 않았음(의존성 주입이 아직 이루어지지 않았음)

- 이럴 때 @PostConstruct를 사용하면 의존성 주입이 끝나고 실행됨이 보장되므로 빈의 초기화에 대해 걱정할 필요가 없어진다.

 

2) Bean의 생애주기에서 오직 한 번만 수행된다는 것을 보장한다. (어플리케이션이 실행될 때 한 번만 실행됨)

- 따라서 Bean이 여러 번 초기화 되는 것을 방지할 수 있다.

 

 

▶ @PreDestroy

@PreDestroy 역시 Spring이 어플리케이션 컨텍스트에서 Bean을 제거하기 직전에 단 한번만 실행된다.

728x90
반응형

'Spring > Lombok' 카테고리의 다른 글

@RequestParam, @ModelAttribute  (0) 2022.08.01
빈 등록 어노테이션 @Bean @Configuration @Component  (0) 2022.05.15
@Data  (0) 2022.05.03
@RestController @Requestbody @Responsebody  (0) 2022.05.03
@Transactional  (0) 2022.04.29