해결된 질문
작성
·
167
0
@Component 를 붙인 클래스를 @Import 로 빈으로 등록
BeanPostProcessor 의 postProcessAfterInitialization 실행
@Componentscan 에 의한 클래스의 빈 등록
제가 "프로퍼티 빈의 후처리 도입" 의 강의를 듣고 있는데 강사님께서 주신 소스에서
@ComponentScan 과 @Import 에 의해 동일하게 빈이 생성된다는 가정하에
@Import 문을 뺏더니 에러가 발생하는데 그건 아마도
위의 순서 중 1 -> 2 -> 3 으로 수행되기 때문에 2를 수행하는 시점에 아직 scan 작업이 일어나지 않아 에러가 발생하지 않나 추측해 봤습니다. 제 추측이 맞는지요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
@Import와 @ComponentScan 어노테이션은 Spring Framework에서 빈(Bean)을 등록하기 위해 사용되는 어노테이션입니다.
@Import는 다른 설정 파일이나 빈 클래스를 현재 설정에 추가하는 용도로 사용되며, @ComponentScan은 지정된 패키지의 클래스들을 탐색하여 자동으로 빈으로 등록하는 역할을 합니다.
먼저, @Import가 수행되고, 그 후 @ComponentScan이 수행되는데, 이는 빈의 수행 순서와는 관련이 없습니다. 따라서 @Import를 제거하면 @ComponentScan이 수행되지 않아도 에러가 발생하지 않아야 합니다.
에러가 발생한다면 다른 원인이 있을 수 있으니, 실제 에러 메시지나 코드를 더 자세히 알려주시면 더 정확한 도움을 드릴 수 있을 것 같아요.
더 궁금한 점이 있으시면 언제든지 물어보세요. 좋은 하루 되세요!