본문 바로가기

Back-end/Spring

싱글톤(Singleton) 객체

본문 내용은 초보 웹 개발자를 위한 스프링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