728x90
빈 스코프란 무엇인가?
'빈이 사용되어지는 범위' 라는 의미.
앱이 구동되는 동안 빈을 한개만 만들어서 쓸지, http 요청마다 생성해서 사용할지를 결정하는 것이다.
스프링 앱이 구동되고 ApplicatiionContext에서 생성되어 하나의 클래스는 하나의 Bean만 가진다.
이를 Singleton이라고 한다.
경우에 따라서 http 요청마다 다른 빈을 생성해서 사용할지 - Request
매번 사용할 때마다 새로운 Bean을 생성해서 사용할지 - Prototype
다양한 빈 스코프가 존재한다.
Singleton 빈 안에 있는 Prototype 빈은 처음 주입된 채로 그대로 사용됨
ProtoType 빈은 사용시 마다 새로운 객체를 만들어서 사용할 용도로 존재하는데
Singleton Bean의 특성에 의해 문제가 발생한다.
이를 해결하는 방법은?
1. proxy mode를 이용하는 방법
2. ObjectProvider을 이용하는 방법
728x90
'Spring Boot 개념 정리' 카테고리의 다른 글
JPA Entity에서 @Setter 사용을 지양하는 이유? (0) | 2023.09.01 |
---|---|
JWT 개념 정리 (0) | 2023.03.26 |
빈 생명주기 콜백 핵심 내용 이해하기 (0) | 2023.02.19 |
자동 bean 등록, 수동 bean 등록 어떤 경우에 하는게 좋을까? (0) | 2023.02.19 |
너무 복잡한 @Service 코드 리팩토링 해보기 (0) | 2023.02.18 |