본문 바로가기
IT/Java

@Component와 @Configuration

by 성준하이 2023. 8. 12.
반응형

이전 포스팅에서 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

 

Spring Bean 등록

이전 포스팅에서 스프링에서 DI 와 IoC를 사용하기 위해서는 스프링에 Bean을 등록해줘야하고 그에 대한 내용은 아래 참고포스팅에서 알아볼수 있다. 하지만 스프링을 다루기 위해서는 가장 중요

thenicesj.tistory.com

 

반응형

'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

댓글