스프링 컨테이너는 싱글톤 패턴의 문제점을 해결하면서, 객체 인스턴스를 싱글톤(1개만 생성)으로 관리한다.
스프링 빈이 바로 싱글톤으로 관리되는 빈이다.
스프링 컨테이너는 싱글턴 패턴을 적용하지 않아도, 객체 인스턴스를 싱글톤으로 관리한다.
스프링 컨테이너는 싱글톤 컨테이너 역할을 하는데,
싱글톤 객체를 생성하고 관리하는 기능을 싱글톤 레지스트리이다.
[싱글톤 컨테이너의 장점]
싱글톤 패턴을 위한 지저분한 코드가 들어가지 않아도 된다.
DIP, OCP, 테스트, private 생성자로 부터 자유롭게 싱글톤을 사용할 수 있다.
이렇게 생성자 의존성 주입으로, 스프링 빈에 postRepository가 자동으로 주입되어
postRepository를 요청할때마다 스프링 컨테이너에서 동일한 postRepository를 반환한다.
스프링 컨테이너 덕분에 클라이언트의 요청이 올 때 마다 객체를 생성하는 것이 아니라,
이미 만들어진 객체를 공유해서 효율적으로 재사용할 수 있다.
'💻 Backend > 스프링' 카테고리의 다른 글
싱글톤 방식의 주의점 (0) | 2022.01.24 |
---|---|
JPA, JPQL에서 limit 사용하기 (0) | 2022.01.24 |
싱글톤 패턴이란? (0) | 2022.01.23 |
싱글톤이란? (0) | 2022.01.23 |
@RestController vs @Controller (0) | 2022.01.11 |