@Component (3) 썸네일형 리스트형 @Configuration + @Bean vs @Component 결론 외부 라이브러리를 사용해야 할 때는 우리가 직접 @Component를 그 라이브러리에 선언할 수 없으므로, @Configuration + @Bean 조합으로 스프링 빈을 생성하고, 그 외에 우리가 직접 제어할 수 있는 클래스들은 @Component를 붙임으로써 자동으로 스프링 빈으로 등록되도록 하자. 참고하면 좋은 글: [Spring] 빈 등록을 위한 어노테이션 @Bean, @Configuration, @Component 차이 및 비교 - (1/2) - MangKyu's Diary (tistory.com) [참고자료] https://stackoverflow.com/questions/67691575/when-should-you-use-configuration-instead-of-service-cont.. @Autowired로 의존관계 주입하기 앞 포스팅(@ComponentScan으로 스프링 빈 스캔하기)에서 @Component와 @ComponentScan을 이용하여 스프링 빈을 스프링 컨테이너에 등록하였습니다. 이제는 @Autowired를 이용하여 의존관계를 자동으로 주입할 수 있도록 해보겠습니다. @Autowired로는 여러가지 방법으로 의존관계를 주입할 수 있는데, 우선은 가장 기본적이고 많이 사용하는 방법인 생성자를 통해 주입해보도록 하겠습니다. @Autowired 생성자 주입 1. 스프링 빈 생성하기 먼저 @Component를 이용해 원하는 스프링 빈을 생성하겠습니다. (물론 @ComponentScan도 적절한 위치에 정의가 되어 있어야겠습니다. ) @Component public class Book implements Product{.. @ComponentScan으로 스프링 빈 스캔하기 앞의 포스팅까지는 @Configuration과 @Bean을 이용하여 아래와 같이 자바 설정 정보에 등록할 스프링 빈을 직접 만들어 스프링 컨테이너에 빈을 등록하였습니다. @Configuration public class AutoAppConfig { @Bean Product getBook(){ return new Book(); } @Bean Order getOrder(){ return new OnlineOrder(getBook()); } } [Book, OnlineOrder 클래스] 더보기 public interface Order {} public class OnlineOrder implements Order { Product product; public OnlineOrder(Product product).. 이전 1 다음