[Java] @PostConstruct, @PreDestroy

DevHwan·2022년 12월 1일
0

@PostConstruct란?

스프링 공식문서에서 제공하는 PostContruct에 대한 내용이다. 해당 어노테이션은 스프링 프레임워크에서 제공하는 것이 아닌 JSR-250 표준이다.

설명을 읽어보면 PostConstruct 어노테이션은 스프링 어플리케이션에서 사용하는 callback을 위해 사용해야 하는 최고의 방법 중 하나인 것이다.

PostConstruct는 이름에서 알 수 있듯이 객체의 생성이 일어난 직 후에 초기화를 수행하는 메서드에 부착하는 어노테이션이다.

@PreDestroy란?

해당 기술은 마찬가지로 PostConstruct 어노테이션과 같이 자바 표준기술이다.

이름에서 직관적으로 알 수 있듯이, 컨테이너에서 객체를 제거하기 전에 수행해야 하는 callback 메소드에 사용하는 어노테이션이다.

@PostConstruct, @PreDestroy 의 장점

앞에서 이야기 했듯 자바진영에서 표준기술로 인정했기 때문에 어떤 프레임워크던 작동할 수 있다. 이것은 분명이 큰 장점이다.

해당 내용은 스프링 공식 Document의 내용인데 스프링 빈을 초기화 할 때, 스프링에서 제공하는 InitializingBean 인터페이스를 사용하지 말라고 되어 있다. → 본인들 기술인데?

그 이유는 해당 기술은 스프링에 종속적이기 때문이다. 이를 대안으로 PostConstruct를 사용할 것을 공식적으로 권고하고 있다.

PreDestory 기술 역시 스프링의 기술보다 권장되는 기술이다.

사용예시

다음과 같은 방법으로 각각 메서드에 부착해서 객체(빈) 생성, 소멸시에 사용이 가능하다.

레퍼런스

Spring makes Java simple.

profile
달리기 시작한 치타

0개의 댓글