본문 바로가기

⭐ SpringBoot/@Annotation

Spring Bean (스프링 빈) 이란?

반응형

# Spring Bean 이란?

Spring Bean은 Spring Framework에서 관리하는 객체를 의미합니다. Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화, 조립, 관리되는 객체를 말합니다.

Spring Bean은 보통 Spring의 설정 메타데이터(XML 파일, Java annotations, Java code 등)에 의해 정의되며, 이 설정 메타데이터는 Bean의 생성 및 서비스 요청에 대한 세부 정보를 제공합니다.

Spring Bean은 다음과 같은 특징을 가집니다:

  1. Singleton: 기본적으로, Spring은 각 Bean 정의에 대해 하나의 인스턴스만 생성합니다. 이 인스턴스는 Singleton 범위를 가지며, 이는 전체 애플리케이션 컨텍스트에서 공유됩니다.
  2. Lifecycle: Spring Bean은 생명주기를 가지며, Spring IoC 컨테이너는 이 생명주기를 관리합니다. Bean의 생명주기는 생성, 초기화, 사용, 그리고 소멸 단계를 포함합니다.
  3. Dependency Injection: Spring Bean은 의존성 주입(Dependency Injection)을 지원합니다. 이는 Bean이 필요로 하는 의존성을 Spring IoC 컨테이너가 자동으로 주입해주는 것을 의미합니다.

예를 들어, @Service 어노테이션을 사용하여 Spring Bean을 정의할 수 있습니다:

@Service
public class MyService {
    // ...
}

이 경우, MyService 클래스는 Spring 애플리케이션 컨텍스트에 Bean으로 등록되며, 다른 Bean에서 @Autowired 등을 통해 주입받아 사용할 수 있습니다.

반응형

'⭐ SpringBoot > @Annotation' 카테고리의 다른 글

@UtilityClass  (1) 2024.06.07
@RequestBody, @ResponseBody, @PathVariable  (0) 2024.05.14
@Transactional  (1) 2023.10.10