전까지 스프링 빈을 등록하기 위해 자바 코드상으로
@Bean
을 추가하거나 xml 파일의<bean>
을 통해 설정 정보에 직접 등록할 스프링 빈을 작성했다. 만약 설정 정보가 방대해지면, 누락되는 문제가 발생하고 하나 하나 수백개 이상의 빈을 반복적으로 등록하기 귀찮아진다.
그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는@ComponentScan
이라는 기능을 제공한다. 또한 의존관계도 자동으로 주입하는@Autowired
기능도 제공하고 있다.
@ComponentScan(
excludeFilters = @ComponentScan.Filter(type=FilterType.ANNOTATION,
classes=Configuration.class)
)
@Component
애노테이션이 붙은 클래스들을 스캔해서 스프링 빈으로 등록한다. @Autowired
를 붙여주면 된다.1. @ComponentScan의 작동 방식
2. @Autowired 의존관계 자동 주입