철학과 학생의 개발자 도전기
[Spring] 빈 생명주기와 스코프 본문
1. 빈 생명주기
- 빈의 생성, 초기화, 사용, 소멸의 과정을 의미한다.
- 스프링은 특정 시점에 사용자가 정의한 로직을 수행하는 콜백 메서드를 지원한다.
- 초기화 콜백, 소멸전 콜백이 있다.
초기화 콜백
- 빈 객체가 생성되고 의존관계 주입이 완료된 후 호출되는 메서드
- @PostConstruct 어노테이션으로 지정 가능
소멸전 콜백
- 빈 객체가 소멸되기 전 호출되는 메서드
- @PreDestory 어노테이션으로 지정 가능
2. 빈 스코프
- 빈이 유지되는 기간을 의미한다.
- 사용자가 빈 스코프를 수동으로 설정할 수 있다.
싱글톤
- 기본값
- 스프링 컨테이너의 시작과 종료를 함께 하는 스코프
- 하나의 인스턴스만 생성됨을 보장
프로토타입
- 빈이 조회될 때마다 새로운 인스턴스 생성
- 스프링 컨테이너는 빈 생성, 의존관계 주입, 초기화까지만 수행하고 관리를 멈춤
- 소멸전 콜백 호출되지 않음
웹 관련 스코프
- request: 웹 요청이 들어오고 나갈 때까지 유지
- session: 웹 세션이 생성되고 종료될 때까지 유지
- application: 웹의 서블릿 컨텍스트와 같은 범위로 유지
3. 참고자료
스프링 핵심 원리 - 기본편 강의 - 인프런
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢
www.inflearn.com
'Spring' 카테고리의 다른 글
[Spring] Dispatcher Servlet (0) | 2023.12.20 |
---|---|
[Spring] 싱글톤 방식의 주의점 (0) | 2023.07.28 |
[Spring] 스프링 컨테이너와 스프링 빈 (0) | 2023.05.03 |
[Spring] 스프링부트와 AWS 스터디 - 3주차 (1) | 2023.01.03 |
[Spring] 스프링 부트와 AWS 스터디 - 2.5주차 (0) | 2022.12.02 |