Spring默認有個規則,老是先初始化主調Bean,而後再初始化依賴Bean。大多數狀況下,Bean之間的依賴很是直接,Spring返回Bean實列以前,完成Bean依賴關係的注入。假如Bean A依賴Bean B,程序請求Bean A時,Spring容器會先初始化Bean B,再將B注入A,最後將Bean A返回給程序。code
在某些狀況下,若Bean B還未被初始化,就將A返回給程序,此時將發生異常。爲了指定Bean在目標Bean以前初始化,可使用depends-on屬性強制初始化。xml
<!--在初始化aBean以前,強制初始化bBean--> <bean id="aBean" class="Abean" depends-on="B"> <property name="B" ref="bBean"/> </bean> <bean id="bBean" class="Bbean"/>