본문 내용은 초보 웹 개발자를 위한 스프링5 프로그래밍 입문(최범균)을 참고하고 있습니다.
Singleton pattern이란?
- 클래스는 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다.
자바에서의 단점
- 유연하지 않다.
스프링 해결방법
- 스프링 컨테이너를 이용해 Singleton pattern을 적용하지 않아도 객체 인스턴스를 Singleton으로 관리하여 해결하였다.
스프링의 경우 별도 설정을 하지 않을 경우 한 개의 빈 객체만을 생성하며, 이때 빈 객체는 '싱글톤(Singleton) 범위를 갖는다'고 표현한다.
Spring에서 Singleton을 사용하는 이유
- 스프링은 주로 서버환경에 적용되는데 클라이언트에서 매번 요청을 받을 때마다 각 로직을 담당하는 오브젝트를 새로 만들어서 사용하는 것은 매우 비효율적이기 때문에 싱글톤을 사용한다.
'Back-end > Spring' 카테고리의 다른 글
빈 라이프 사이클과 범위 (0) | 2021.10.01 |
---|---|
컴포넌트 스캔(@Component, @ComponentScan) - 학습필요 (0) | 2021.10.01 |
의존 자동 주입 (0) | 2021.10.01 |
스프링 DI (0) | 2021.10.01 |
스프링 컨테이너 (0) | 2021.10.01 |