Spring3之 bean Lazy-initialized beans

Lazy-initialized beans延迟初始化

ApplicationContext默认会实例化singletonbean,如果想延迟初始化它则在bean标签中用lazy-init="true"同时也可以在beans标签中指定default-lazy-init="true"来将所有的延迟初始化

Spring3官方配置:

 

<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/><!--延迟... -->
<bean name="not.lazy" class="com.foo.AnotherBean"/><!--不延迟... -->
	
<beans default-lazy-init="true">
	<!--延迟所有... -->
</beans>

但是,如果将一个已经设置 lazy-init="true"bean注入到另一个没有设置延迟的bean中的,那么前者的 lazy-init="true"是无效的,它也将初始化。

如果是用注解,很简单: 

@Component
@Lazy(true)//
public class UserAnnotation {
...
}

 

 

你可能感兴趣的:(bean)