Open ahah525 opened 1 year ago
@Component
어노테이션을 추가한다.
@Component
어노테이션이 붙은 모든 클래스는 스프링 컨테이너에 의해 자동으로 스프링 빈으로 등록된다.@Controller
, @Service
, @Repository
은 모두 @Component
를 포함한다.@Configuration
어노테이션을 클래스 선언부 위에 추가한다.
@Configuraion
을 추가해야 한다.@Bean
어노테이션을 추가한다.@Bean
은 메소드 레벨에 선언한다.@Component
는 클래스 레벨에서 선언한다.@Bean
은 개발자가 컨트롤이 불가능한(외부 라이브러리가 제공하는) 객체를 빈으로 등록하고 싶을 때 사용한다.
ObjetMapper
를 빈으로 등록하고 싶은 경우, ObjectMapper
의 인스턴스를 생성하는 메소드를 만들고 해당 메소드에 @Bean
을 선언하여 빈으로 등록한다.@Component
는 개발자가 직접 컨트롤이 가능한(내가 직접 만든) 클래스를 빈으로 등록하고 싶을 때 사용한다.
문제
섹션3, 4에서 자바 코드를 스프링으로 전환하며
@Bean
으로 스프링 IoC컨테이너에 빈을 등록하는 예제를 살펴보았다. 스프링 빈을 등록하는 방법에 관하여@Component
와@Bean
의 차이점과 어떠한 경우에 사용하는지에 대해 알아보자.관련 섹션