Configuration, Bean, Component 어노테이션의 차이
1. @Configuration
- 스프링 IOC Container에게 해당 클래스라고 Bean 구성 Class임을 알려주는 것이다.
- Bean을 사용하기 위해서 설정되는 Class 어노테이션이다.
2. @Bean
- 객체를 생성 할때 생성자는 주입 받은 코드를 실행하는 형태로 Bean은 Method 위에 설정하고 소스를 구현한다.
개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려 할때 사용된다.
여기서 키워드는 Bean으로 등록된 Method는 개발자가 직접 제어가 불가능하다는 것이다.
3. @Component
- 클래스를 Bean으로 등록하여 사용하는 형태로 구현한다.
@Component 어노테이션은 @AutoWired 어노테이션을 이용하여 사용한다.
@AutoWired 를 사용해 의존성을 주입한다.
4. @Bean, @Component 차이
- Bean과 Component는 Class, Method 네임으로 카멜표기법으로 변경한 것이 id로 사용된다.
- id 값을 사용자가 지정해 줄 수 있다.
- Bean(name = "")
- Component(value = "")
5. 요약
- 개발자가 직접 장성한 class를 Bean으로 만들때 @Component를 사용
- 개발자가 직접 작성한 Method를 통해 반환되는 객체를 사용할 때 @Bean 사용
'spring' 카테고리의 다른 글
Ioc 컨테이너와 빈 정리 (0) | 2021.03.09 |
---|---|
스프링 AOP 구현 (1) (0) | 2021.01.28 |