Spring_21_ @Bean, @Configuration, @Component 차이 및 비교 요약

hyeong taek jo·2023년 10월 28일
0

Spring

목록 보기
21/34

📌 [ @Bean, @Configuration ]

  • 수동으로 스프링 컨테이너에 빈을 등록하는 방법
  • 개발자가 직접 제어가 불가능한 라이브러리를 빈으로 등록할 때 불가피하게 사용
  • 유지보수성을 높이기 위해 애플리케이션 전범위적으로 사용되는 클래스나 다형성을 활용하여 여러 구현체를 빈으로 등록 할 때 사용
  • 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 명시해 주어야 싱글톤이 보장됨

📌 [ @Component ]

  • 자동으로 스프링 컨테이너에 빈을 등록하는 방법
  • 스프링의 컴포넌트 스캔 기능이 @Component 어노테이션이 있는 클래스를 자동으로 찾아서 빈으로 등록함
  • 대부분의 경우 @Component를 이용한 자동 등록 방식을 사용하는 것이 좋음
    @Component 하위 어노테이션으로 @Configuration, @Controller, @Service, @Repository 등이 있음

앞서 설명하였듯 @Bean은 반드시 @Configuration 안에서 사용되어야 한다. 이어지는 포스팅에서는 그 이유에 대해서 살펴보도록 하자.

profile
마포구 주민

0개의 댓글