[Spring] 싱글톤 빈과 프로토타입 빈을 함께 사용할 때 생기는 문제점에 대한 나름의 이해
2023. 11. 2. 11:20ㆍSpring
프로토타입 빈의 장점은 데이터를 클라이언트별로 갱신해야할 때이다.
싱글톤은 이게 안된다. 모든 클라이언트가 공유하기 때문이다.
하지만 이를 의도하고 싱글톤 빈에 프로토타입 빈을 넣으면 문제가 생긴다.
우리의 의도는 각 클라이언트마다 새로운 프로토타입 빈을 얻는 것이다.
하지만 싱글톤 빈이 생성되고 프로토타입 빈이 의존관계로 주입되면 클라이언트마다 결과적으로 더 이상 프로토타입 빈이 만들어지지 않는다. 왜냐하면 프로토타입 빈은 요청할때 생기는 것이다. 싱글톤 빈이 요청할때는 의존관계를 주입받을 때인데 이건 딱 한번만 일어나는 것이다. 즉, 하나의 요청이기 때문에 하나의 프로토타입 빈만 만들어지게 되는 것이다.
그렇다면 어떻게 하면 우리의 원래 의도인 클라이언트마다 새로운 프로토타입이 만들어져 싱글톤 빈이 사용하게 할 수 있을까?
Reference
'Spring' 카테고리의 다른 글
[Spring] Web Scope에 대한 나름의 이해 (0) | 2023.11.02 |
---|---|
[Spring] 싱글톤 빈과 프로토타입 빈을 함께 사용할 때 생기는 문제점에 대한 해결책에 대한 나름의 이해 (1) | 2023.11.02 |
[Spring] 프로토타입 스코프에 대한 나름의 이해 (0) | 2023.11.02 |
[Spring] 빈 스코프에 대한 나름의 이해 (0) | 2023.10.28 |
[Spring] 빈 생명 주기 콜백을 위한 방법 3 - @PostConstruct, @PreDestroy (0) | 2023.10.27 |