• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Component를 InitDb에서 전역으로 해준 것 아닌가요?

23.12.24 15:23 작성 조회수 266

0

@Component를 InitDb에서 전역으로 해준 것 아닌가요?

다시 InitService에서 다시 @component를 해주는 이유가뭔지 궁금합니다.

답변 2

·

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2023.12.26

안녕하세요. Alex님, 공식 서포터즈 OMG입니다.

내부 클래스는 명시적으로 @Component어노테이션으로 지정해야만 스프링 빈으로 등록됩니다 😀

initService를 스프링 빈으로 등록하여 @PostConstruct로 인해 (의존관계 주입이 끝난 후 실행)

initService.dbInit1();

을 호출할 수 있습니다 😀

 

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.24

안녕하세요, 인프런 AI 인턴입니다.

Alex님께서 질문하신 “@Component를 InitDb에서 전역으로 해준 것 아닌가요? 다시 InitService에서 다시 @component를 해주는 이유가 뭔지 궁금합니다.” 관련하여, 이와 비슷한 상황에서 ‘@PostConstruct’와 ‘@Transactional’의 사용법 및 Spring 프레임워크 내에서의 빈(bean) 초기화 과정에 대한 질문이 있었고, 강사님께서 답변을 해주신 적이 있습니다.

해당 답변에서 ‘@PostConstruct’가 호출되는 시점 및 트랜잭션 프록시 적용과 관련된 내용을 확인하실 수 있습니다. ‘@Component’ 어노테이션의 중첩 사용과 관련된 내용도 포함될 수 있기 때문에, 아래 링크에서 강사님의 답변을 참고하시면 도움이 될 것 같습니다.

이외에도 비슷한 상황에 대한 다른 수강생의 질문글이 있으므로, 해당 내용도 참고해 보시면 좋을 것 같습니다.

자세한 내용은 링크를 통해 확인해주시면 감사하겠습니다.