-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
컴포넌트 스캔관련 질문드립니다 ㅎㅎ
21.10.17 02:49 작성 조회수 128
1
답변을 작성해보세요.
1
김영한
지식공유자2021.10.17
안녕하세요. YMMD님
@SpringBootApplication에는 이미 @ComponentScan 있기 때문에, 여기에서 필요한 스프링 빈들을 다 컴포넌트 스캔 해버려서 문제가 되지는 않을 듯 합니다.
감사합니다.
YMMD
질문자2021.10.17
답글 감사합니다 영한님 ^^
그런데 제가 이해가 잘 안가서 그러는데,,, ㅠㅠ
@SpringBootApplication에서 @ComponentScan이 있기때문에 컴포넌트 스캔 할 것이고, 필요한 스프링 빈들을 찾아서 등록하는데 @Configuration이 있는 AutoAppConfig가 등록이 될 때 어떤식으로 되는지 궁금합니다.. 제가 궁금한점을 순서를 통해서 설명을 드리겠습니다!!
------------------------------------------------------------
순서
1. @SpringBootApplication의 @ComponenetScan으로 컴포넌트스캔
2. AutoAppConfig발견 (AutoAppConfig의 @Configuration으로 인하여)
3. @AutoAppConfig의 @ComponentScan 발견
@Configuration
@ComponentScan(
basePackages = "hello.core",
excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)
)
public class AutoAppConfig {
}
------------------------------------------------------------
이 때 AutoAppConfig의 ComponentScan도 진행을 하는건가요?? 아니면 컴포넌트 스캔은 하지않고 AutoAppConfig를 빈등록하고, 내부에 @Bean이 있다면 빈등록 절차를 거치는건가요??
여기서(AutoAppConfig에서) 만약에 ComponentScan을 한다면 ComponentScan 제외조건으로 Configuration이 있다면 무시해버리는지 아니면 어떤식으로 동작하는지가 궁금합니다 ㅎㅎ
만약에 제외조건을 그대로 제외시켜버린다면 AutoAppConfig의 컴포넌트 스캔 대상으로만 @Configuration을 무시하는것으로 생각이 들어요
ShinS
2021.10.25
안녕하세요 같이 공부하는 학생입니다.
저도 약간 의도는 비슷한 질문을 남겼었는데 도움ㅇ ㅣ되길 바래요
https://www.inflearn.com/questions/334415
YMMD
질문자2021.10.25
감사합니다 ShinS님, 위 문제는 제가 너무 깊게 생각해서 나왔던, 혼자 꼬임을 만들어버린 질문이었던것 같아요,,,
도움 링크 감사합니다 좋은하루되세요 :)
답변 1