[SPRING] 봄 콩 범위. 싱글 톤과 프로토 타입
SPRING봄 콩 범위. 싱글 톤과 프로토 타입
ClassA와 ClassB의 두 클래스를 가정 해 봅시다. ClassB가 ClassA에 의존한다고 가정 해 봅시다. 구성 파일에서 ClassA의 범위를 싱글 톤으로 정의하고 ClassB의 범위를 Prototype으로 정의하면 ClassA의 빈 인스턴스를 만들 때마다 ClassB의 인스턴스가 어떻게됩니까? ClassA의 인스턴스가 반환 될 때마다 동일한 ClassB 인스턴스가 반환되거나 새 인스턴스가 만들어 집니까?
고맙습니다!!!
해결법
-
==============================
1.Class가 프로토 타입 인 경우 클래스 B의 새 인스턴스가 항상 만들어지며 생성시 다른 클래스를 처리하지 않습니다.
Class가 프로토 타입 인 경우 클래스 B의 새 인스턴스가 항상 만들어지며 생성시 다른 클래스를 처리하지 않습니다.
그래서 ClassB 프로토 타입과 ClassA 싱글 톤, 당신은 ClassB의 N 인스턴스와 ClassA의 유일한 시점에서 귀하의 응용 프로그램에있을 수 있습니다.
귀하의 경우, 애플리케이션 라이프 사이클에 ClassA 인스턴스가 하나만 존재하기 때문에 애플리케이션의 다른 Bean이 참조하는 다른 ClassB와는 다른 하나의 인스턴스 ClassB 만 갖게됩니다
-
==============================
2.ClassA는 싱글 톤이므로 ClassB의 모든 인스턴스간에 단일 인스턴스가 공유됩니다.
ClassA는 싱글 톤이므로 ClassB의 모든 인스턴스간에 단일 인스턴스가 공유됩니다.
나는 당신이 여기에 있다고 생각한다. 동일한 Class 인스턴스가 리턴되거나 새로운 인스턴스가 생성 될 것이다. Class의 인스턴스가 반환 될 때마다?
Class 인스턴스가 생성 될 때마다 공유 Class 인스턴스가 (재) 사용됩니다.
-
==============================
3.ClassA가 싱글 톤이면 아무 것도 인스턴스화되지 않습니다.
ClassA가 싱글 톤이면 아무 것도 인스턴스화되지 않습니다.
prototype bean이기 때문에 다른 인스턴스. 그러나 ClassA가 싱글 톤이기 때문에 매번 같은 방식으로 인스턴스화됩니다 (언급 한 클래스 간의 관계에 따라 다름)
from https://stackoverflow.com/questions/19382850/spring-bean-scope-singleton-and-prototype by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring MVP의 RequestParam 값은 대 / 소문자를 구분하지 않습니다. (0) | 2019.05.07 |
---|---|
[SPRING] Spring의 Controller에서 파일 반환 (0) | 2019.05.07 |
[SPRING] 최대 절전 모드 jpa를 사용하여 JSON을 직렬화 및 비 직렬화하여 JSON 응답으로 부모 개체를 자식 개체에 넣습니다. (0) | 2019.05.07 |
[SPRING] 싱글 톤 DAO 객체를 가지고 있어도 괜찮습니까? (0) | 2019.05.07 |
[SPRING] Java 구성에서 Spring 동적 언어 지원 사용 (0) | 2019.05.07 |