왜 사용하는가?
먼저 스프링 빈의 이벤트 사이클을 알아보자
스프링 빈의 이벤트 사이클
스프링 컨테이너 생성 -> 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸 전 콜백 -> 스프링 종료
초기화 콜백: 빈이 생성되고 빈의 의존 관계 주입이 완료된 후 호출됩니다.
소멸전 콜백: 빈이 소멸되기 직전에 호출됩니다.
-> 스프링 빈 생명주기 콜백 사용 방법 중에 하나가 @PostConstruct 와 @PreDestroy이다.
@PostConstruct
- 객체의 초기화 부분
- 객체가 생성된 후 별도의 초기화 작업을 위해 실행하는 메소드에 적용
- WAS가 띄워질때 bean이 생성된 다음 딱 한번만 실행
@PostConstruct
public void init() {
System.out.println("초기화 메서드 호출")
}
@PreDestroy
- 마지막 소멸 단계
- 스프링 컨테이너에서 객체(빈)을 제거하기 전에 해야할 작업이 있는 메소드에 적용
- close()하기 직전에 실행
@PreDestroy
public void destroy() {
System.out.println("종료 메서드 호출")
}
'Backend > Spring | Spring Boot' 카테고리의 다른 글
[예외 처리] 사용자 정의 예외 처리 (0) | 2024.06.07 |
---|---|
[Spring] Filter와 OncePerRequestFilter (0) | 2024.03.13 |
[Error] TransactionRequiredException: Executing an update/delete query 에러 해결 방법 (1) | 2023.01.27 |
[spring-data-jpa] @Transactional 의 readonly 옵션과 성능 향상 (0) | 2023.01.27 |
[Spring Boot] Lombok이란? Lombok 추가하기 (0) | 2023.01.21 |