반응형
이전 포스팅에서 Spring Bean에 대해서 다룬적이 있다.
자세한 내용은 아래 참고 포스팅 참고 바란다.
스프링에서 Bean을 등록하기 위해서는 다양한 방법이 있는데,
그중 하나가 @Component annotation이나 @Configuration annotation을 사용하는 법이다.
비슷하게 생긴 이 두가지의 차이를 설명하려고 한다.
결론 먼저 내리면 간단히 분리를 할수 있다.
@Configuration의 선언부를 보면 @Component가 정의되어 있으며, 고로 @Component가 더 큰 범위이다.
@Componenet
- 개발자가 직접 작성한 클래스를 Bean으로 등록하고자 할 경우 사용
- @Controller, @Service, @Repository 등의 어노테이션에서 상속
@Configuration
- 외부라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 경우 사용(개발자가 직접 제어가 불가능한 클래스)
- 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 사용. 즉, 해당 클래스에서 한 개 이상의 Bean을 생성하고 있을때 선언 해주어야 함
참고 포스팅
https://thenicesj.tistory.com/320
반응형
'IT > Java' 카테고리의 다른 글
Java Lombok 이란. (65) | 2023.08.14 |
---|---|
ResponseEntity란 (51) | 2023.08.13 |
@Deprecated (사용안함) 어노테이션 (66) | 2023.08.11 |
springboot 에서 profiles 설정 (48) | 2023.08.07 |
PriorityQueue 란? (46) | 2023.08.04 |
댓글