@RestController
@RequiredArgsConstructor
@RequestMapping("/example")
public class RequiredArgsConstructorControllerExample {
private final FirstService firstService;
private final SecondService secondService;
private final ThirdService thirdService;
...
}
@PostConstructor → 의존성 주입이 일어난 후 초기화를 수행하는 메서드, service를 수행하기 전에
발생, 이메서드는 다른 리소스에서 호출되지 않는다 해도 수행된다.
생성자(일반)가 호출되었을 때, 빈은 아직 초기화가 되지 않는다.(ex 주입된 의존성 x) 하지만 이 어노테이션을 이용하면, 빈이 초기화 됨과 동시에 의존성을 확인할 수 있다.
beanLifeCycle에서 오직 한 번 만 수행된다는 것을 보장할 수 있다.(WAS가 올라가면서 Bean이 생성될 때 딱 한 번만 초기화 함) 그래서 @PostConstructor를 사용하면 bean이 여러번 초기화 되는 것을 방지할 수 있따.
+초기화: 알맞은 속성값으 넣어주는 것(지연로딩, 즉시로딩)