Spring Container와 Spring Bean

YEZI·2021년 10월 25일
0

Spring Boot

목록 보기
1/2

패스트캠퍼스 - "한 번에 끝내는 Spring 완전판 강의"를 정리한 글입니다.

Bean

  • 스프링 컨테이너에 의해 생성, 관리되는 객체
  • 각각의 Bean 끼리는 서로 편리하게 의존(사용)할 수 있다.

스프링 컨테이너

ApplicationContext 인터페이스를 통해 제공되는 스프링 컨테이너는 Bean 객체의 생성 및 Bean들의 조립(상호 의존성 관리)을 담당한다.

Bean의 생성

클래스 A를 Bean으로 등록하면, Application Context의 설정에 따라 인스턴스화 되어 ApplicationContext 안에 list로 형태로 등록된다.

  • Scope: Bean을 생성하는 규칙
    • singletone
      : 컨테이너에 단일로 생성. 스프링 기동 시, 혹은 해당 Bean이 최초 필요 시 생성된 후 서버가 내려가기 전까지 계속 유지.
    • prototype: 작업 시마다 Bean을 새로 생성
    • request: http 요청마다 Bean을 새로 생성.

singletone이 기본값이고, prototype/request로 변경 가능하다.

Bean LifeCycle Callback(빈 생명주기 콜백 함수)

  • Callback 함수: 어떤 이벤트가 발생되는 경우 호출되는 메서드
  • Lifecycle Callback: Bean을 생성/초기화/파괴하는 등 특정 시점에 호출되도록 정의된 함수
  • 주로 많이 사용되는 콜백
    @PostConstruct: 빈 생성 시점에 필요한 작업 수행
    @PreDestroy: 빈 파괴(주로 어플리케이션 종료) 시점에 필요한 작업 수행

0개의 댓글