Spring ‐ 빈 스코프 - dnwls16071/Backend_Study_TIL GitHub Wiki
📚 빈 스코프
- 스프링에서 지원하는 다양한 스코프
- 싱글톤 : 스프링 컨테이너의 시작과 종료시까지
- 프로토타입 : 프로토타입 빈의 생성과 의존관계 주입시까지
- request : 웹 요청이 들어오고 나갈때까지
- session : 웹 세션이 생성되고 종료될 때까지
- application : 웹의 서블릿 컨텍스트와 같은 범위
기본 요청 순서 : HTTP 요청 → 필터 → 인터셉터 → 디스패처 서블릿 → 핸들러(컨트롤러) → HTTP 응답
📚 싱글톤 스코프 vs 프로토타입 스코프
- 스프링 컨테이너는 기본적으로 싱글톤 스코프가 적용된다.
- 여러 클라이언트 요청이 와도 같은 객체 인스턴스가 반환된다.
- 여러 클라이언트 요청이 오면 프로토타입 빈이 생성되고 의존관계 주입 후 반환하는데 이 때, 의존관계 주입시까지만 스프링 컨테이너에서 관리된다.
- 반환한 후에는 스프링 컨테이너에서 이 프로토타입 빈을 관리하지 않는다.
- 이전 시간에 빈 생명주기 콜백에서 배웠던
@PreDestroy
어노테이션은 스프링 컨테이너에서 관리가 되는 빈에 대해서만 적용이 되기 때문에 프로토타입 빈의 경우에는 이 어노테이션을 쓰더라도 적용이 되지 않는다.