@Component 와 @Configuration은 큰 차이는 없습니다. @Configuration의 내부를 살펴보면 @Component가 정의되어 있습니다. 따라서 @Component와 @Bean을 비교하는 것이 맞습니다. 우선적으로, 개발자가 직접 작성한 클래스에 대하여 @Component는 위와 같이 bean으로 등록 할 수 있습니다. 반대로 라이브러리 혹은 내장 클래스등 개발자가 직접 제어가 불가능한 클래스의 경우 @Configuration + @Bean 어노테이션을 이용하여 bean으로 등록하여 사용하면 됩니다. 정리 @Component - 개발자가 직접 작성한 클래스를 bean 등록하고자 할 경우 사용 @Configuration + @Bean - 외부라이브러 또는 내장 클래스를 bean으로 등..