這是Spring documentation,第9.5.4節春天引用protoyype豆與裁判在ProxyFactryBean是
<bean id="myAdvisor" class="com.mycompany.MyAdvisor">
<property name="someProperty" value="Custom string property value"/>
</bean>
<bean id="debugInterceptor"class="org.springframework.aop.interceptor.DebugInterceptor">
</bean>
<bean id="person"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="com.mycompany.Person"/>
<property name="target" ref="personTarget"/>
<property name="interceptorNames">
<list>
<value>myAdvisor</value>
<value>debugInterceptor</value>
</list>
</property>
</bean>
現在,代碼下面的註釋說:
您可能想知道爲什麼列表 不包含bean引用。原因是如果 ProxyFactoryBean的singleton屬性設置爲false,它必須能夠 返回獨立的代理實例。如果任何顧問本身是 原型,則需要返回一個獨立實例 ,因此需要能夠從工廠獲得原型 的實例;舉辦參考是不夠的。
有人可以請解釋這是如何工作的。我知道各種範圍。所以我知道,如果顧問是原型,那麼需要返回一個新實例。但我沒有得到最後的聲明(以粗體突出顯示)。如果我指定ref="debugInterceptor"
,bean的創建機制會改變嗎?這是否意味着如果我的ref
是一個bean,它將是一個單例實例。