• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@PostConstruct 호출시점 질문드립니다 :)

23.10.04 20:52 작성 조회수 234

0


[질문 내용]
스크린샷 2023-10-04 오후 8.44.11.png

request 객체는 스프링 컨테이너에 요청하는 시점에 생성되므로, 클라이언트가 브라우저에 url을 입력하고 전송하는 시점을 의미하는 것으로 이해하고 있습니다. 예제의 실행 결과를 보면 @PostConstruct가 호출된 결과보다 컨트롤러 메서드의 myLogger.getClass()를 호출한 결과가 먼저 출력되는 것을 확인할 수 있습니다. 컨트롤러 메서드가 실행되자마자 request객체가 생성되기 때문에 즉시 @PostConstruct가 호출되고 나머지 컨트롤러의 문장들이 실행되어야 할 것 같은데 실제로는 그런 결과가 나오지 않아서 이유가 궁금해 질문 남깁니다.

답변 2

·

답변을 작성해보세요.

0

김학님의 프로필

김학

2023.12.12

@PostConstruct는 원래 빈 생명주기에서 생성 / 의존관계 가 끝난 다음에 초기화 콜백 호출되는 시점에 실행된느거니까

myLogger.getClass()를 호출한 시점은 생성 단계므로, 즉시 생성자 출력 결과가 나오고 그 다음에 init() 호출되는게 맞지 않을까용?

0

David님의 프로필

David

2023.10.06

안녕하세요. Jaesang Yoon님, 공식 서포터즈 David입니다.

아래 글 답변을 참고해 주세요:)

https://www.inflearn.com/questions/846592

감사합니다.