SPRING BASIC_04 :: BEAN LIFE-CYCLE

Dev-O·2021년 9월 11일
1

Spring

목록 보기
4/11
post-thumbnail

스프링 컨테이너의 생애

BEAN OBJECT LIFE_CYCLE

  1. BEAN 객체의 생애
  • 객체생성 -> 의존설정 -> 초기화 -> 소멸
  • 스프링컨테이너가 초기화될 때 Bean 객체생성 및 의존 주입
  • Bean 객체 초기화
  • 스프링 컨테이너 종료시 Bean 객체의 지정된 메서드호출

BEAN 생성과 소멸관련 메서드

  1. 객체를 생성할 때 호출되는 메서드가 정의된 인터페이스

  2. 객체가 소멸될 때 호출되는 메서드가 정의된 인터페이스

  • 예시

커스텀 메서드

  1. 모든 클래스가 InitializingBean인터페이스와 Disposable인터페이스를 구현할 수 없을 수도 있다.

  2. 소스코드 없이 클래스만 외부에서 제공받아 스프링 Bean으로 사용하려면 코드가 없으므로 인터페이스를 직접 구현할 수 없다.

  3. 초기화와 소멸에 사용되는 메서드를 직접 지정해주면 스프링 객체로 사용이 가능

    • InitializingBean 인터페이스 기능을 대신해 init-mehtod 속성
    • DisposableBean 인터페이스 기능을 대신해 destroy-mehtod 속성
  • 인터페이스로 구현못했을 경우 예시

  • xml 설정

📌 자바설정 사용

  1. @Bean 어노테이션의 initMehtod속성과 destroyMethod속성을 사용
  2. @Bean 어노테이션으로 initMehtod를 지정할 메서드에 적용하면서 destroy속성만 지정가능

☝🏻Tip++;
초기화 및 소멸 과정에서 사용되는 메서드는 파라미터가 없어야한다.

객체의 범위

  1. 기본적으로 스프링컨테이너는 Bean객체를 하나만 생성
  2. 필요에 따라 Singleton을 적용하지 않는 Bean이 필요한 경우 Prototype의 Bean을 만들 수 있다.
    -xml설정

    -java설정
profile
Being Outstanding needs Understanding🚀

0개의 댓글