在Spring的配制文件中,位于开头的<beans>中有一个default-lazy-init属性。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
default-autowire="byName" default-lazy-init="true">
或是这样的:
< beans default-lazy-init ="true" >
< bean class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
< property name ="triggers" >
< list >
< ref bean ="forumBuildTrigger" />
< ref bean ="topicBuildTrigger" />
</ list >
</ property >
</ bean >
</ beans >
default-lazy-init 属性是指明服务器在启动的时候是否实例化配制中的 Bean 实体。
如果 default-lazy-init = "true", 是在用户第一次请求的时候实例化对应的Bean实体。则服务器启动就快。
如果 default-lazy-init = "false", 则是在服务器启动的时候,就将那些Bean实体初使化保存到IOC容器中。那样服务器启动就较慢。
yi、
“把beans的 default-lazy-init改为true”
这种做法容器启动的时候不加载一些bean,在用户需要使用的时候再加载,这个时候,加载bean的时间战用了用户的时间,感觉不是太好。
这个是开发时候用的,又没叫你部署的时候用