• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

질문 드립니다

23.03.01 15:10 작성 조회수 223

1

안녕하세요 선생님.

JdbcTemplate이 있기 때문에 UserController가 인스턴스화되지 않아도 실행된다고 하셨는데 CalculatorController에 JdbcTemplate이 없는데 어떻게 실행되는 건가요?

답변 감사드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요, 화이팅님!!! 😊 좋은 질문 남겨주셔서 감사합니다!

현재 <Section3. 역할의 분리와 스프링 컨테이너> 쪽을 보고 계신 것 같습니다!!

 

이 내용을 바탕으로 질문 주신 내용에 답변드려보자면,

"JdbcTemplate이 있기 때문에 UserController가 인스턴스화 되지 않아도 실행된다"는 잘못된 워딩입니다! (혹시나 제가 이 문장을 그대로 사용했다면 말씀해주세요!! 수정해두겠습니다! 🙏🙏)

 

엄밀하게는 "JdbcTemplate과 UserController 모두 스프링이 관리하는 '스프링 빈'이기 때문에 스프링 빈을 관리하는 스프링 컨테이너가 둘을 인스턴스화 하여 연결시켜 주고, 그 덕분에 우리가 직접 UserController를 인스턴스화 하지 않아도 된다"가 맞습니다!

 

비슷하게, CalculatorControler 역시 @RestController 가 붙어 있는 스프링 빈이기 때문에 저희가 직접 인스턴스화를 하지 않더라도 스프링 컨테이너가 인스턴스화를 해줘 처리가 가능하게 됩니다!

답변이 도움이 되었으면 좋겠네요!! ㅎㅎㅎㅎ 감사합니다!!! 🙇🙇