작성
·
349
0
[질문 내용]
request 객체는 스프링 컨테이너에 요청하는 시점에 생성되므로, 클라이언트가 브라우저에 url을 입력하고 전송하는 시점을 의미하는 것으로 이해하고 있습니다. 예제의 실행 결과를 보면 @PostConstruct가 호출된 결과보다 컨트롤러 메서드의 myLogger.getClass()를 호출한 결과가 먼저 출력되는 것을 확인할 수 있습니다. 컨트롤러 메서드가 실행되자마자 request객체가 생성되기 때문에 즉시 @PostConstruct가 호출되고 나머지 컨트롤러의 문장들이 실행되어야 할 것 같은데 실제로는 그런 결과가 나오지 않아서 이유가 궁금해 질문 남깁니다.
답변 2
0
@PostConstruct는 원래 빈 생명주기에서 생성 / 의존관계 가 끝난 다음에 초기화 콜백 호출되는 시점에 실행된느거니까
myLogger.getClass()를 호출한 시점은 생성 단계므로, 즉시 생성자 출력 결과가 나오고 그 다음에 init() 호출되는게 맞지 않을까용?
0
안녕하세요. Jaesang Yoon님, 공식 서포터즈 David입니다.
아래 글 답변을 참고해 주세요:)
https://www.inflearn.com/questions/846592
감사합니다.