1. @PostConstruct란?
@PostConstruct는 의존성 주입이 이루어진 후 초기화를 수행하는 메서드이다. @PostConstruct가 붙은 메서드는 클래스가 service를 수행하기 전에 발생한다. 이 메서드는 다른 리소스에서 호출되지 않는다해도 수행된다.
2. 왜 사용하는지?
1)
생성자가 호출될 때 Bean은 아직 초기화 되지 않으므로 종속성이 주입되지 않는다.
이때 @PostConstruct를 사용하면, bean이 초기화 됨과 동시에 의존성을 확인할 수 있다
생성자 호출된 후 bean이 초기화 되고, 의존성 주입이 이루어져 의존성을 확인할 수 있다고 이해하면 되려나?
2)
bean lifecycle에서 오직 한 번만 수행된다는 것을 보장할 수 있다(WAS가 올라가면서 bean이 생성될 때 딱 하번 초기화한다) @PostConstruct를 사용하면 bean이 여러번 초기화되는 것을 방지할 수 있다
참고한 블로그
'Spring' 카테고리의 다른 글
[스프링/예외] 스프링-디비1 6-1. 스프링과 문제 해결 - 예외 처리, 반복 (0) | 2024.02.02 |
---|---|
[스프링/@Transactional] 4-2. 트랜잭션 AOP 이해 (0) | 2024.02.01 |
[스프링/트랜잭션] 4-1. 스프링의 트랜잭션 (0) | 2024.02.01 |
[스프링/DataSource] 스프링-DB 1편 2. ConnectionPool, DataSource의 이해 (0) | 2024.01.30 |
[Spring Boot] ResponseEntity와 TestRestTemplate (0) | 2022.01.26 |