@SpringBootApplication에 @ComponentScan 붙으면 어떻게 되나요?
250
작성한 질문수 1
@SpringBootApplication은 소스를 열어보면 아래처럼@ComponentScan이 같이 걸려 있는데요.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
sj.study.spring.StudyApplication에서 sj.study.other.MyService라는 bean으로 등록하기 위해서 아래처럼 CompoentScan을 사용한다면 기존에 @SpringBootApplication에 포함된 필터나 조건들은 어떻게 되는지 궁금합니다. 아래처럼 하면 동작은 하지만 규칙은 알 수 없어서 질문합니다.
공존하는 것인지 ?
아니면 덮어쓰는지?
경우에 따라 다르다면 어떤 조건이 있는지 궁금합니다.
이런 정보를 알려면 어떤 문서를 참조해야 하는지도 궁금합니다.
감사합니다.
package sj.study.spring;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import sj.study.other.MyService;
@SpringBootApplication
@ComponentScan(basePackages={"sj.study"})
public class StudyApplication {
@Autowired
MyService myService;
@Autowired
BookService bookService;
public static void main(String[] args) {
SpringApplication.run(StudyApplication.class, args);
}
}
답변 1
1
기존 설정을 엎어쓰게 되서 @SpringBootApplication 안에 있는 @ComponentnScan은 무시하고 @ComponentScan(basePackages={"sj.study"}) 이 설정이 적용됩니다.
이런건 간단히 코드 작성해서 테스트 해보는게 문서를 찾아보는거 보다 더 빠르고 정확하더라구요.
BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?
0
381
1
프로젝트 생성에 관련한 질문
0
376
1
안녕하세요 강의 내용을 듣다가 궁금점이 생겨 글을 남기게 되었습니다.
0
371
1
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
0
304
0
PropertyEditor non thread-safe 한 이유
0
491
1
빈의 초기화 시점이 궁금합니다.
0
393
1
이 강의 예제소스 없나요?
0
345
1
릴로딩 기능에 대해
0
404
1
Bean 을 특정 Application...Event 발생 후, 등록하는 방법이 궁금합니다
0
612
3
IoC/DI와 POJO의 관계
1
749
2
기선님 RetentionPolicy에 대해서 질문이 있습니다.
0
291
1
안녕하세요 기선님!
3
486
3
비동기적으로 실행할때
0
314
2
"Prototype/프록시"로 설정했는데 동일한 객체로 나옵니다
0
530
4
@Autowired 로 가져오는 Bean은 ?
2
280
1
Type-Safety 의미
0
538
1
Null Point
0
318
1
WebDataBinder를 특별히 쓰는 이유가 있나요?
0
384
1
안녕하세요?
0
336
2
애노테이션이 없습니다(?)
0
279
3
코드 중 변수 앞에 적는 것이 무엇인지 알고 싶습니다.
0
295
2
강의 하시면서 사용하는 resolving 이란 단어는 어떤 의미인가요?
1
1499
1
IOC컨테이너관련 질문입니다
0
245
3
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
0
259
1





