bean的初始化设置在第一次请求时加载而不是容器启动时;
<bean id="lazy" class="com.something.ExpensiveToCreateBean" lazy-init="true"/>
当延迟加载的bean被其他bean依赖时,属性失效,也会随容器加载
使用元素default-lazy-init上的属性来控制容器级别的延迟初始化
<beans default-lazy-init="true">
<!-- no beans will be pre-instantiated... -->
</beans>
复合属性
<bean id="something" class="things.ThingOne">
<property name="fred.bob.sammy" value="123" />
</bean>
该somethingbean具有一个fred属性,该属性具有属性,该bob属性具有sammy 属性,并且最终sammy属性的值设置为123。为了使其工作,在构造bean之后,fred属性something和bob属性fred不得为null。否则,NullPointerException抛出一个。
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是另一个bean的依赖项,那通常意味着将一个bean设置为另一个bean的属性
要表示对多个bean的依赖关系,请提供bean名称列表作为depends-on属性的值(逗号,空格和分号是有效的分隔符)