강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

내일은 한걸음 더 나아갈거야님의 프로필 이미지
내일은 한걸음 더 나아갈거야

작성한 질문수

강사님 빈이 생성되고 수행되는 순서가 궁금합니다.

해결된 질문

작성

·

167

0

  1. @Component 를 붙인 클래스를 @Import 로 빈으로 등록

  2. BeanPostProcessor 의 postProcessAfterInitialization 실행

  3. @Componentscan 에 의한 클래스의 빈 등록

제가 "프로퍼티 빈의 후처리 도입" 의 강의를 듣고 있는데 강사님께서 주신 소스에서

@ComponentScan 과 @Import 에 의해 동일하게 빈이 생성된다는 가정하에

@Import 문을 뺏더니 에러가 발생하는데 그건 아마도

위의 순서 중 1 -> 2 -> 3 으로 수행되기 때문에 2를 수행하는 시점에 아직 scan 작업이 일어나지 않아 에러가 발생하지 않나 추측해 봤습니다. 제 추측이 맞는지요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

@Import와 @ComponentScan 어노테이션은 Spring Framework에서 빈(Bean)을 등록하기 위해 사용되는 어노테이션입니다.

@Import는 다른 설정 파일이나 빈 클래스를 현재 설정에 추가하는 용도로 사용되며, @ComponentScan은 지정된 패키지의 클래스들을 탐색하여 자동으로 빈으로 등록하는 역할을 합니다.

먼저, @Import가 수행되고, 그 후 @ComponentScan이 수행되는데, 이는 빈의 수행 순서와는 관련이 없습니다. 따라서 @Import를 제거하면 @ComponentScan이 수행되지 않아도 에러가 발생하지 않아야 합니다.

에러가 발생한다면 다른 원인이 있을 수 있으니, 실제 에러 메시지나 코드를 더 자세히 알려주시면 더 정확한 도움을 드릴 수 있을 것 같아요.

더 궁금한 점이 있으시면 언제든지 물어보세요. 좋은 하루 되세요!

내일은 한걸음 더 나아갈거야님의 프로필 이미지
내일은 한걸음 더 나아갈거야

작성한 질문수

질문하기