해결된 질문
작성
·
295
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
@SpringBootApplication 내부에 @ComponentScan이 있기 때문에
@SpringBootApplication가 붙은 CoreApplication을 실행하면 컴포넌트 스캔을 하게 되는 거 맞죠?
그런데 만약 @Service, @Controller, @Component @Autowired 등을 전혀 사용하지 않고
오로지 설정 클래스의 @Configuration, @Bean을 통해 빈을 등록한다면
CoreApplication을 실행했을 때
컴포넌트 스캔이 동작하긴 하지만, 컴포넌트 스캔을 통해 등록되는 빈은 없다고 보면 되나요? 즉, @Bean을 통해 등록되는 빈들은 있어도, 컴포넌트 스캔은 동작은 하되, 스캔을 통해 등록되는 빈은 이 경우엔 없다고 보면 되나요?
답변 1
2
안녕하세요. 11 1님, 공식 서포터즈 OMG입니다.
@SpringBootApplication 내부에 @ComponentScan이 있기 때문에
@SpringBootApplication가 붙은 CoreApplication을 실행하면 컴포넌트 스캔을 하게 되는 거 맞죠?
=> 네 맞습니다 ^^
그런데 만약 @Service, @Controller, @Component @Autowired 등을 전혀 사용하지 않고
오로지 설정 클래스의 @Configuration, @Bean을 통해 빈을 등록한다면
CoreApplication을 실행했을 때
컴포넌트 스캔이 동작하긴 하지만, 컴포넌트 스캔을 통해 등록되는 빈은 없다고 보면 되나요? 즉, @Bean을 통해 등록되는 빈들은 있어도, 컴포넌트 스캔은 동작은 하되, 스캔을 통해 등록되는 빈은 이 경우엔 없다고 보면 되나요?
네, @ComponentScan은 @Controller, @Service, @Repository, @Component 등 스캔의 대상이 되는 클래스를 찾아 빈으로 등록하기 때문에 사용하지 않는다면 컴포넌트 스캔으로 등록되는 빈은 없다고 봐도 됩니다.
감사합니다.
감사합니다.