728x90

 

 

Bean이란?

 

빈(Bean)은 IoC(Inversion of Control) 컨테이너에 의해 관리되는 객체

애플리케이션의 핵심 구성 요소로, 주로 서비스, 데이터 엑세스 객체(DAO), 컨트롤러 등과 같은 객체를 포함한다.

 

Spring 컨테이너는 이러한 빈들을 생성하고, 설정하고, 관리한다.

 


 

Bean의 특징

 

  1. Spring IoC 컨테이너에 의해 관리됨
  2. 구성 메타데이터를 통해 정의됨 : 빈의 정의는 XML 파일, 애노테이션, JAVA 설정 클래스를 통해 제공됨.
  3. 의존성 주입 지원 : 빈은 다른 빈이나 리소스와의 의존성을 주입받을 수 있다.
  4. 생명 주기 관리 : Spring은 빈의 생명 주기(생성, 초기화, 소멸)를 관리함

 


 

Bean의 생성 방법 3가지

 

1. XML 설정 파일

 

<bean id="myBean" class="com.example.MyBean"/>

 

 

2.애노테이션 기반 설정

 

@Component
public class MyBean {
    // ...
}

 

3. Java 설정 클래스

 

@Configuration
public class AppConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
}

 

 


 

Bean의 생명 주기

 

  1. 스프링 IoC 컨테이너 생성
  2. 스프링 빈 생성
  3. 의존관계 주입
  4. 초기화 *callback 메서드 호출
  5. 사용
  6. 소멸 전 callback 메서드 호출
  7. 스프링 종료 

 

*callback 메서드 : 특정 이벤트나 조건이 발생했을 때 시스템이나 프레임워크에 의해 자동으로 호출되는 메서드


 

Bean Scope

 

빈 스코프는 빈의 생명 주기와 사용 범위를 정의합니다.

 

Spring에서 제겅하는 주요 Scope

 

  • singleton
  • prototype
  • request
  • session
  • globalSession

+ Recent posts