我有一个懒惰初始化的bean,并且要设置一些参数和属性。
<bean id="abc" class="a.b.c.abc" lazy-init="true">
<constructor-arg ref="qwert" />
<property name="aImplementations">
<list>
<ref bean="newBean" />
</list>
</property>
</bean>
newBean
定义为<bean id="newBean" class="a.b.c.newBean" lazy-init="true" init-method="init" />
但是懒惰的bean被初始化并且调用了init()方法。
如果我删除bean 'abc'
并且只保留newBean
,则不会调用newBean类的init()方法。
可能是什么原因?我在谷歌搜索但没有帮助。
答案 0 :(得分:0)
如果bean没有从任何其他bean引用,或者它从另一个惰性初始化bean引用,那么它只会被惰性初始化。你的bean'abc'是非惰性的,在构造这个bean时,它必须将newBean插入abc。