@Bean
<Bean>
⚠️ 이런 방법들은 스프링 빈을 일일이 등록해야한다. (반복 작업)
@Configuration
@ComponentScan(
excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)
)
public class AutoAppConfig {
}
@ComponentScan
을 설정 정보에 붙여주면 된다.@Bean
으로 등록한 클래스가 하나도 없다.@Component
어노테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록@Bean
으로 직접 설정 정보를 작성했고, 의존관계도 직접 명시했다.@Autowired
사용@Autowired
는 의존관계를 자동으로 주입해준다.@ComponentScan
은 @Component
가 붙은 모든 클래스를 스프링 빈으로 등록한다.@Component(”memberService2”)
이런식으로 이름을 부여@Autowired
를 지정하면, 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입getBean(MemberRepository.class)
와 동일하다고 이해하면 된다.