1. @PostConstruct란?

 

@PostConstruct는 의존성 주입이 이루어진 후 초기화를 수행하는 메서드이다. @PostConstruct가 붙은 메서드는 클래스가 service를 수행하기 전에 발생한다. 이 메서드는 다른 리소스에서 호출되지 않는다해도 수행된다.

 

2. 왜 사용하는지? 

 

1)

생성자가 호출될 때 Bean은 아직 초기화 되지 않으므로 종속성이 주입되지 않는다. 

이때 @PostConstruct를 사용하면, bean이 초기화 됨과 동시에 의존성을 확인할 수 있다 

 

생성자 호출된 후 bean이 초기화 되고, 의존성 주입이 이루어져 의존성을 확인할 수 있다고 이해하면 되려나?

 

2) 

bean lifecycle에서 오직 한 번만 수행된다는 것을 보장할 수 있다(WAS가 올라가면서 bean이 생성될 때 딱 하번 초기화한다) @PostConstruct를 사용하면 bean이 여러번 초기화되는 것을 방지할 수 있다 

 

 

참고한 블로그

1. ResponseEntity

 

HttpEntity: 스프링에서 제공하는 클래스이고, Http request/reponse가 이루어질 때 Http 헤더와 바디를 포함하는 클래스이다.

Request/Response Entity는 HttpEntity를 상속받는다

 

=> ResponseEntity는 사용자의 HttpRequest에 대한 응답하는 데이터(Http Stauts, Header,Body)를 가진다.

 

 

2. TestRestTemplate

:Rest 방식으로 개발한  API의 Test를 최적화하기 위해 만들어진 클래스이다.

Http 요청 후 데이터를 응답받을 수 있는 템플릿 객체이며, ResponseEntity와 함께 자주 사용된다. 

Header와 Content-Type 등을 설정하여 API를 호출할 수 있다. 

 

 

-restTemplate.getForEntity(): 기본 http 헤더를 사용하며 결과를 ResponseEntity로 반환받는다. 

 

 

 

 

참고한 사이트: https://easybrother0103.tistory.com/64

+ Recent posts