2016-09-30 3 views
1

사례 1 : 프로토 타입 빈 안에 싱글 톤 빈을 주입한다고 가정하면 프로토 타입 빈을 호출하면 몇 개의 인스턴스가 생성 될지를 알 수 있습니다. 스프링 빈 범위 : 싱글 톤과 프로토 타입

는 시나리오를 고려하십시오 -

<bean id="a" class="A" scope="prototype"> 
<property name="b" ref="b"> 
</bean> 

<bean id="b" class="B"> 

사례 2 : 우리는 우리가 싱글 톤 bean을 호출하는 경우 생성되는 방법을 많은 경우 다음 싱글 콩 내부 프로토 타입 빈을 주입한다고 해보자.

는 경우를 생각해 볼 수 있습니다 : -

<bean id="a" class="A" > 
    <property name="b" ref="b"> 
</bean> 

<bean id="b" class="B" scope="prototype"> 

답변

0

싱글 톤 빈은 항상 같은 객체를 참조합니다. 프로토 타입은 빈이 참조되는만큼 많은 인스턴스를 생성합니다. 제공 한 유스 케이스는이 패러다임을 바꾸지 않습니다.

1

질문에 대답하고 있습니다.

Case2 : 프로토 타입 콩 종속성이있는 싱글 콩이 구성

, 당신이 응용 프로그램의 컨텍스트에서를 가져 지금까지, 그것은 새로운 B와 유선 될 때 우리는 B 빈을 선언 것으로 예상된다 프로토 타입 범위입니다. 하지만이 은 발생하지 않습니다..

이 초기화되면으로 초기화되면 A는 싱글 톤 Bean이며 모든 종속성이 설정된 상태로 연결 한 후 컨텍스트에 맞게 초기화됩니다. 그래서 부터 우리가 A에 대한 컨텍스트를 요청할 때마다 동일한 빈을 반환하므로 매번 같은 B을 얻을 수 있습니다.

조회 방법 주입을 사용하여 해결할 수 있습니다. 이 article을 참조하십시오.

관련 문제