철학과 학생의 개발자 도전기

[Spring] 빈 생명주기와 스코프 본문

Spring

[Spring] 빈 생명주기와 스코프

Younghun 2023. 12. 19. 22:08

1. 빈 생명주기

  • 빈의 생성, 초기화, 사용, 소멸의 과정을 의미한다.
  • 스프링은 특정 시점에 사용자가 정의한 로직을 수행하는 콜백 메서드를 지원한다.
  • 초기화 콜백, 소멸전 콜백이 있다.

초기화 콜백

  • 빈 객체가 생성되고 의존관계 주입이 완료된 후 호출되는 메서드
  • @PostConstruct 어노테이션으로 지정 가능

소멸전 콜백

  • 빈 객체가 소멸되기 전 호출되는 메서드
  • @PreDestory 어노테이션으로 지정 가능

2. 빈 스코프

  • 빈이 유지되는 기간을 의미한다.
  • 사용자가 빈 스코프를 수동으로 설정할 수 있다.

싱글톤

  • 기본값
  • 스프링 컨테이너의 시작과 종료를 함께 하는 스코프
  • 하나의 인스턴스만 생성됨을 보장

프로토타입

  • 빈이 조회될 때마다 새로운 인스턴스 생성
  • 스프링 컨테이너는 빈 생성, 의존관계 주입, 초기화까지만 수행하고 관리를 멈춤
  • 소멸전 콜백 호출되지 않음

웹 관련 스코프

  • request: 웹 요청이 들어오고 나갈 때까지 유지
  • session: 웹 세션이 생성되고 종료될 때까지 유지
  • application: 웹의 서블릿 컨텍스트와 같은 범위로 유지

3. 참고자료

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard

 

스프링 핵심 원리 - 기본편 강의 - 인프런

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢

www.inflearn.com