bean的初始化設(shè)置在第一次請求時(shí)加載而不是容器啟動時(shí);
<bean id="lazy" class="com.something.ExpensiveToCreateBean" lazy-init="true"/>
當(dāng)延遲加載的bean被其他bean依賴時(shí),屬性失效,也會隨容器加載
使用元素default-lazy-init上的屬性來控制容器級別的延遲初始化
<beans default-lazy-init="true">
<!-- no beans will be pre-instantiated... -->
</beans>
復(fù)合屬性
<bean id="something" class="things.ThingOne">
<property name="fred.bob.sammy" value="123" />
</bean>
該somethingbean具有一個(gè)fred屬性伙判,該屬性具有屬性,該bob屬性具有sammy 屬性褒纲,并且最終sammy屬性的值設(shè)置為123昆婿。為了使其工作呼畸,在構(gòu)造bean之后,fred屬性something和bob屬性fred不得為null。否則疚膊,NullPointerException拋出一個(gè)。
bean依賴
<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao">
<property name="manager" ref="manager" />
</bean>
<bean id="manager" class="ManagerBean" />
<bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" />
bean是另一個(gè)bean的依賴項(xiàng)虾标,那通常意味著將一個(gè)bean設(shè)置為另一個(gè)bean的屬性
要表示對多個(gè)bean的依賴關(guān)系寓盗,請?zhí)峁゜ean名稱列表作為depends-on屬性的值(逗號,空格和分號是有效的分隔符)