반응형
애플리케이션을 실행할 때, 다른 리소스에서 호출하지 않고도 특정 메서드를 수행시키고 싶을 때
(예로, 초기 데이터를 저장하는 경우 등 초기화 작업 시)
다음 어노테이션 중 하나를 수행 시킬 메서드에 적용한다.
1) @EventListener(ApplicationReadyEvent.class)
2) @PostConstruct
1)의 경우 스프링 컨테이너가 완전히 초기화를 다 끝내고, 실행 준비가 되었을 때 발생하는 이벤트이다.
2)의 경우는 AOP같은 부분이 아직 처리되지 않은 시점에 호출 될 수 있어, 간혹 문제가 발생할 수 있음
가급적 1)를 쓰는게 좋을듯 싶다.
@EventListener(ApplicationReadyEvent.class)
public void initData() {
log.info("데이터 초기화 시작");
//초기화 작업
}

반응형
'Web > Spring Boot' 카테고리의 다른 글
[Mockito] spyBean vs mockBean (0) | 2022.07.10 |
---|---|
[DI] 생성자 주입을 사용하자 (0) | 2022.06.21 |
[Spring] @RestControllerAdvice (0) | 2019.07.16 |
[Spring] AOP (0) | 2019.06.26 |
[Spring] DI (Dependency Injection) (0) | 2019.06.24 |