Using @PostConstruct and @PreDestroy

Dev.Hammy·2024년 3월 4일
0

CommonAnnotationBeanPostProcessor@Resource 어노테이션뿐만 아니라 JSR-250 라이프사이클 어노테이션(jakarta.annotation.PostConstructjakarta.annotation.PreDestroy)도 인식합니다. Spring 2.5에 도입된 이러한 주석 지원은 초기화 콜백소멸 콜백에 설명된 수명 주기 콜백 메커니즘에 대한 대안을 제공합니다. CommonAnnotationBeanPostProcessor가 Spring ApplicationContext 내에 등록된 경우 이러한 어노테이션 중 하나를 전달하는 메소드는 해당 Spring 라이프사이클 인터페이스 메소드 또는 명시적으로 선언된 콜백 메소드와 라이프사이클의 동일한 지점에서 호출됩니다. 다음 예에서는 캐시가 초기화 시 미리 채워지고(pre-populated) 삭제 시 지워집니다.

public class CachingMovieLister {

	@PostConstruct
	public void populateMovieCache() {
		// populates the movie cache upon initialization...
	}

	@PreDestroy
	public void clearMovieCache() {
		// clears the movie cache upon destruction...
	}
}

다양한 수명 주기 메커니즘 연결(combine)의 효과에 대한 자세한 내용은 수명 주기 메커니즘 연결(combine)을 참조하세요.

[Note]
@Resource와 마찬가지로 @PostConstruct@PreDestroy 어노테이션 타입은 JDK 6부터 8까지 표준 Java 라이브러리의 일부였습니다. 그러나 전체 javax.annotation 패키지는 JDK 9의 핵심 Java 모듈에서 분리되어 결국 JDK 11에서 제거되었습니다. Jakarta EE 9부터 패키지는 이제 jakarta.annotation에 있습니다. 필요한 경우 이제 Maven Central을 통해 jakarta.annotation-api 아티팩트를 가져와야 하며 다른 라이브러리처럼 애플리케이션의 클래스패스에 추가하기만 하면 됩니다.

0개의 댓글