@Component 와 @Configuration은 큰 차이는 없습니다.
@Configuration의 내부를 살펴보면
@Component가 정의되어 있습니다. 따라서 @Component와 @Bean을 비교하는 것이 맞습니다.
우선적으로, 개발자가 직접 작성한 클래스에 대하여 @Component는 위와 같이 bean으로 등록 할 수 있습니다. 반대로 라이브러리 혹은 내장 클래스등 개발자가 직접 제어가 불가능한 클래스의 경우 @Configuration + @Bean 어노테이션을 이용하여 bean으로 등록하여 사용하면 됩니다.
정리
@Component
- 개발자가 직접 작성한 클래스를 bean 등록하고자 할 경우 사용
@Configuration + @Bean
- 외부라이브러 또는 내장 클래스를 bean으로 등록하고자 할 경우 사용.
- 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuraton을 명시
'Spring Framework' 카테고리의 다른 글
[Spring] 스프링 인터셉터(Interceptor)란 ? (0) | 2021.06.24 |
---|---|
[Spring] WebUtils 사용하기 (0) | 2021.06.23 |
[Spring] 스프링 설정 - web.xml, root-context.xml, servlet-context.xml 역할 (0) | 2021.06.23 |
[Spring] Dispatcher-Servlet 이란? (0) | 2021.06.23 |
스프링 MVC 프로젝트의 기본 구성 (0) | 2020.12.15 |