스프링 빈이란?

김형준 Kim Hyeong Jun·2023년 3월 17일
0

빈(Bean)이란 무엇인가

빈이란 스프링 IoC 컨테이너가 관리하는 자바 객체를 의미합니다.
여기서 말하는 자바 객체는 POJO 자바 객체를 의미합니다.

IoC 컨테이너에 빈 등록하기

1. 어노테이션(Annotation)을 사용하는 방법

@Component 어노테이션을 사용하는 방법이 있습니다.
@Component 어노테이션이 붙어 있는 경우 컴포넌트 스캔을 통해 빈으로 등록해줍니다.
스테레오 타입(Stereotype)인 @Controller,@Service,@Repository와 같은 어노테이션은 내부에 @Component 어노테이션을 가지고 있는 합성 어노테이션으로 컴포넌트 스캔시에 스캔되는 어노테이션입니다.

2. 빈 설정 파일에 직접 등록하는 방법

해당 방법은 @Configuration@Bean 어노테이션을 사용합니다.
@Configuration 어노테이션의 경우 간단하게 말하면 "해당 파일에 빈을 등록할 것이니 조회해줘"라는 표시입니다.
@Configuration 어노테이션이 붙은 파일 내에서 @Bean 어노테이션을 사용해서 빈을 직접 등록하게 되는데, @Bean을 사용해 수동으로 등록할 때에는 해당 메서드 이름이 빈 이름으로 결정됩니다.

스프링의 경우 컴포넌트 스캔을 통해 자동으로 빈 등록을 하는 방식을 권장합니다.
Spring에서는 Main App 클래스에서 @ComponentScan 어노테이션을 사용해서 등록해야하며,
Spring Boot 환경에서는 디폴트로 존재하는 @SpringBootApplication 어노테이션 내부에 @ComponentScan 어노테이션이 포함되어 있습니다.

Reference

[Spring] 스프링 빈(Bean)이란?
[Spring] Spring Bean 총 정리

profile
I want be a developer🙂

0개의 댓글