singleton

Spring/스프링 핵심 원리 - 기본편

[스프링 핵심 원리] 09. 빈 스코프 - 프로토타입 스코프(싱글톤 빈과 함께 사용시 Provider로 문제 해결)

(인프런) 김영한님의 스프링 핵심 원리-기본편을 공부하고 리뷰한 글입니다. 4. 프로토타입 스코프(싱글톤 빈과 함께 사용시 Provider로 문제 해결) 싱글톤 빈과 프로토타입 빈을 함께 사용할 때, 어떻게 하면 사용할 때마다 항상 새로운 프로토타입 빈을 생성하는 방법 3가지에 대해 공부한다. 1. 스프링 컨테이너에 요청 가장 간단한 방법은 싱글톤 빈이 프로토타입을 사용할 때마다 스프링 컨테이너에 새로 요청하는 것이다. 매우 비효율적인 방법이다. 1) providerTest() 코드 작성 및 ClientBean 코드 수정 package hello.core.scope; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.a..

Spring/스프링 핵심 원리 - 기본편

[스프링 핵심 원리] 09. 빈 스코프 - 프로토타입 스코프(싱글톤 빈과 함께 사용시 문제점)

(인프런) 김영한님의 스프링 핵심 원리-기본편을 공부하고 리뷰한 글입니다. 3. 프로토타입 스코프(싱글톤 빈과 함께 사용시 문제점) 실무에서 프로토타입 빈을 사용하는 경우는 드물지만 사용할 경우 보통 싱글톤 빈과 함께 사용한다. 하지만 싱글톤 빈과 함께 사용할 때는 의도한대로 잘 동작하지 않으므로 주의해야한다. 1. 프로토타입 빈 직접 요청 스프링 컨테이너에 프로토타입 빈을 직접 요청하는 예제이다. 1) 스프링 컨테이너에 프로토타입 빈 직접 요청1 1) 클라이언트A는 스프링 컨테이너에 프로토타입 빈을 요청한다. 2) 스프링 컨테이너는 프로토타입 빈을 새로 생성해서 반환(x01)한다. 해당 빈의 count 필드 값은 0이다. 3) 클라이언트는 조회한 프로토타입 빈에 addCount() 를 호출하면서 cou..

Spring/스프링 핵심 원리 - 기본편

[스프링 핵심 원리] 05. 싱글톤 컨테이너 - 싱글톤 컨테이너 & 싱글톤 방식의 주의점(중요★)

(인프런) 김영한님의 스프링 핵심 원리-기본편을 공부하고 리뷰한 글입니다. 3. 싱글톤 컨테이너 스프링 컨테이너는 싱글톤 패턴의 문제점을 해결하고 객체 인스턴스를 싱글톤(1개만 생성)으로 관리한다. 지금까지 우리가 학습한 스프링 빈은 싱글톤으로 관리되는 빈이다. 1. 싱글톤 컨테이너 - 스프링 컨테이너는 싱글톤 패턴을 적용하지 않아도 객체 인스턴스를 싱글톤으로 관리한다. - 스프링 컨테이너는 싱글톤 컨테이너 역할을 하고 싱글톤 객체를 생성, 관리하는 기능을 싱글톤 레지스트리라고 한다. - 스프링 컨테이너는 싱글톤 패턴의 모든 단점을 해결하면서 객체를 싱글톤으로 유지할 수 있다. 싱글톤 패턴을 위한 지저분한 코드X DIP, OCP, 테스트, private 생성자로부터 자유롭게 자유롭게 싱글톤 사용O 2. ..

Spring/스프링 핵심 원리 - 기본편

[스프링 핵심 원리] 05. 싱글톤 컨테이너 - 웹 애플리케이션과 싱글톤 & 싱글톤 패턴

(인프런) 김영한님의 스프링 핵심 원리-기본편을 공부하고 리뷰한 글입니다. 1. 웹 애플리케이션과 싱글톤 1) 스프링: 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 2) 대부분의 스프링 애플리케이션 = 웹 애플리케이션 (웹이 아닌 애플리케이션 개발도 가능함) 3) 웹 애플리케이션: 보통 여러 고객이 동시에 요청을 한다. 고객이 요청할 때마다 새로운 객체가 생성되는 문제 1. 스프링 없는 순수한 DI 컨테이너 테스트 우리가 만든 스프링 없는 순수한 DI 컨테이너(AppConfig)는 요청을 할 때 마다 새로운 객체를 생성한다. - 고객 트래픽이 초당 100이 나오면 초당 100개의 객체가 생성, 소멸된다 -> 메모리 낭비 심함 (해결방안) 해당 객체를 1개만 생성, 공유하도록 설계 -> 싱글톤 패..

HSY_mumu
'singleton' 태그의 글 목록