• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

앱 실행 중 외부 의존성 추가시 어떻게 자동 등록되는지 궁금합니다..!

21.12.01 23:51 작성 조회수 203

0

안녕하세요. 기선님 항상 강의 잘듣고 있습니다. 감사합니당
 
스프링 앱이 구동되면 @ComponentScan, @EnableAutoConfigure에 의해 필요한 빈들을 스캔하고 초기화하게 된다고 이해하고 있습니다.
하지만 앱을 실행중에 외부 의존성을 추가하더라도 앱이 멈추지 않고 해당 의존성 빈들이 추가되는데.... 이게 어떻게 가능한건지 궁금합니다.
찾아봐도 명확한 답을 찾기가 힘들더라구요..
 
제가 생각한 가설로는
1. 의존성이 추가되면 이벤트처럼 콜백으로 스프링에게 알려줘서 추가된 의존성들을 빈으로 등록한다.
2. 스프링이 특정 주기마다? 새로 추가된 의존성이 있는지 체크하고 등록한다.
 
정도가 떠오르는데... 어떠한 원리로 추가되는건지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 앱이 구동 초기에 빈을 만들고 의존성을 이어주는것은 맞는데요.

"하지만 앱을 실행중에 외부 의존성을 추가하더라도 앱이 멈추지 않고 해당 의존성 빈들이 추가되는데." 이개 실제로 되나요? 어떻게 실험을 해보신건지 알려주실 수 있나요? 앱 구동중에 외부 의존성을 어떤 방법으로 추가하셨죠? pom.xml이나 그래들 설정으로 추가하셨나요? 그랬더니 구동중인 애플리케이션에 해당 의존성에서 제공하는 빈이 자동으로 추가가 되었나요? 애플리케이션을 껐다 켜지 않았는데도요?