[Spring] bean 정리

seonjeong·2023년 3월 1일
0

Spring

목록 보기
10/27
post-thumbnail

🔥 bean이란?

  • Spring IoC 컨테이너가 관리하는 자바 객체로서 컨테이너에 의해 생명주기가 관리되는 객체

  • Spring IoC 컨테이너 : bean을 관리하는 객체

  • 의존성 주입이 필요한 객체를 bean으로 등록함으로써 Spring IoC 컨테이너가 객체의 생성과 의존성 주입을 관리하도록 함

  • Spring IoC 컨테이너에서 싱글톤 패턴을 통한 의존성 주입으로 동시성 문제를 해결해줌

  • 어노테이션인 @Bean을 사용하거나 xml 설정을 통해 일반 객체를 bean으로 등록


🔥 xml 파일에 설정

  • class : 정규화된 자바 class 이름
  • id : bean의 고유 식별자
  • scope : 객체의 범위(singleton, property 등)
  • constructor-arg : 생성 시 생성자에 전달 할 인수
  • property : 생성 시 bean setter에 전달할 인수
  • init-method, destroy-method

🧾 기본적인 양식

<!-- A simple bean definition -->
<bean id="..." class="..."></bean>

<!-- A bean definition with scope-->
<bean id="..." class="..." scope="singleton"></bean>

<!-- A bean definition with property -->
<bean id="..." class="...">
	<property name="message" value="Hello World!"/>
</bean>

<!-- A bean definition with initialization method -->
<bean id="..." class="..." init-method="..."></bean>

🔥 bean의 생명 주기

: 객체 생성 -> 의존 설정 -> 초기화 -> 사용 -> 소멸`

1. 객체 생성

  • bean으로 등록할 수 있는 어노테이션들과 설정파일을 읽어 IoC컨테이너 안에 bean으로 등록

  • Singleton Registry
    : 싱글톤 패턴의 단점을 보완
    : key와 value형태로 데이터가 저장됨

    key : bean의 이름
    value : 객체

2. 의존 설정

  • 생성자 주입 : 객체의 생성과 의존관계 주입이 동시에 일어남
  • Setter, Feild 주입 : 객체의 생성 -> 의존관계 주입으로 라이프 사이클이 나누어져 있음

3. 초기화

  • 의존 설정 후 스프링 빈에게 콜백 메소드를 통해 초기화 시점을 알려줌

4. 사용

  • 초기화 후 사용할 수 있음

5. 소멸

  • 종료 직전에도 소멸 콜백 메소드를 통해 소멸 시점을 알려줌



Reference (더 자세히 알고 싶다면 아래의 블로그 참고)

https://developer-ellen.tistory.com/198?category=921298
https://dev-coco.tistory.com/170

profile
🦋개발 공부 기록🦋

0개의 댓글

관련 채용 정보