일일히 @Bean을 설정하는 것은 번거롭다.
그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다.
또 의존 관계도 자동으로 주입하는 @Autowired
라는 기능도 제공한다.
컴포넌트 스캔을 사용하려면 먼저 @ComponentScan
을 설정 정보에 붙여주면 된다.
컴포넌트 스캔은 이름 그대로 @Component
애노테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록한다.
@Autowired
를 사용하면 생성자에서 여러 의존관계도 한번에 주입받을 수 있다.
1. @ComponentScan
@ComponentScan
은 @Component
가 붙은 모든 클래스를 스프링 빈으로 등록한다.@Component("memberService2")
이런식으로 이름을 부여하면 된다.2. @Autowired 의존관계 자동 주입
@Autowired
를 지정하면, 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입한다.getBean(MemberRepository.class)
와 동일하다고 이해하면 된다.