728x90
1. @PostConstruct란?
- 의존성 주입이 완료된 후 실행되어야 하는 메서드에 사용한다.
- 이 어노테이션이 붙은 메서드는 다른 리소스에서 호출하지 않아도 실행된다.
- 생성자보다 늦게 호출된다.
2. 사용 이유
- 생성자가 호출되었을 때, bean은 초기화 되기 전이다. (의존성 주입이 이루어 지기 전)
- @PostConstruct를 사용하면, bean이 초기화 됨과 동시에 의존성을 확인할 수 있다.
- bean lifeCycle에서 오직 한 번만 수행된다.
- 주로 DB에 초기 데이터를 주입하는 경우에 사용한다.
3. 사용 예제
@Component
@RequiredArgsConstructor
public class InitDb {
private final InitService initService;
@PostConstruct
public void init() {
initService.dbInit1();
initService.dbInit2();
}
@Component
@Transactional
@RequiredArgsConstructor
public class InitService {
'''
}
}
참고 자료
728x90