- 浏览: 3422507 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
http://thinkerandthinker.iteye.com/blog/1337706
spring的容器是提供了lazy-load的,即默认的缺省设置是bean没有lazy-load,该属性处于false状态,这样导致spring在启动过程导致在启动时候,会默认加载整个对象实例图,从初始化ACTION配置、到service配置到dao配置、乃至到数据库连接、事务等等。
这么庞大的规模,难怪spring的启动时间要花将近1分钟。尝试了一下,把beans的default-lazy-init改为true就,再次启动,速度从原来的55秒,降到8秒钟!!Great!虽然是非常小一个改动,但是影响确实非常大。
Spring的default-lazy-init 与 lazy-init
在同一个文件中<bean />里面设置的优先级大于<beans />里设置的优先级:
view plaincopy to clipboardprint?
1.<beans /> <bean /> immediately
2.<beans /> <bean lazy-init="true" /> lazy
3.<beans /> <bean lazy-init="false"/> immediately
4.<beans default-lazy-init="true"/> <bean /> lazy
5.<beans default-lazy-init="true"/> <bean lazy-init="true" /> lazy
6.<beans default-lazy-init="true"/> <bean lazy-init="false" /> immediately
7.<beans default-lazy-init="false"/> <bean /> immediately
8.<beans default-lazy-init="false"/> <bean lazy-init="true" /> lazy
9.<beans default-lazy-init="false"/> <bean lazy-init="false" /> immediately
如果在一个spring配置文件中引入另外的配置文件,如:<import resource="classpath:beanss.xml"/>
则以被引入文件(beanss.xml)中设置的<beans />里的设置为准,与引入文件中的设置无关。
view plaincopy to clipboardprint?
<bean id="testInit" lazy-init="true" init-method="init" class="com.test.Test">
</bean>
如果在一个spring配置文件中引入另外的配置文件,如:<import resource="classpath:beanss.xml"/>
则以被引入文件(beanss.xml)中设置的<beans />里的设置为准,与引入文件中的设置无关。
<bean id="testInit" lazy-init="true" init-method="init" class="com.test.Test">
</bean>
spring的default-lazy-init参数
spring在启动的时候,会默认加载会默认加载整个对象实例图,从初始化ACTION配置、到 service配置到dao配置、乃至到数据库连接、事务等等。这样可以减少web服务器在运行时的负担,但是对于开发者来说无疑是效率极低的一个设置了。
还好,spring提供了default-lazy-init属性,其配置形式如下,applicationContext.xml中:
< beans default-lazy-init ="true" >
< bean class ="org.xxxx.bean" >
。。。。。。
</beans>
spring配置默认default-lazy-init为false,当配置为true时sping不会再去加载整个对象实例图,大大减少了初始化的时间,减少了spring的启动速度。
这样做只是为了在开发过程中节约启动时间,在部署到实际环境中,倒是没必要设置default-lazy-init为true。毕竟部署到实际环境中不是经常的事,每次启动1分钟倒不是大问题,而且可以提高服务器效率。
当然,也不是所有的beans都能设置default-lazy-init成为true.对于scheduler的bean不能用lazy-init
< beans default-lazy-init ="true" >
< bean class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
< property name ="triggers" >
< list >
< ref bean ="buildHtmlTrigger" />
< ref bean ="askTrigger" />
< ref bean ="mailSenderTrigger" />
< ref bean ="topicDetailBuildTrigger" />
< ref bean ="forumBuildTrigger" />
< ref bean ="topicBuildTrigger" />
</ list >
</ property >
</ bean >
</ beans >
这样的话。所有的scheduler就都不管用了。所以请大家要注意。
Spring 中lazy-init 和abstract 属性
1.lazy-init
<beans>
<bean id="service1" type="bean路径" lazy-init="true"/>
<bean id="service2" type="bean路径" lazy-init="false">
<property name="service1" ref="service1"/>
</bean>
</beans>
以上两个bean,一个lazy-init属性为true,一个为false,由什么区别呢
当 IoC容器启动时,service2会实例化,而service1则不会;但是但容器实例化service2时,service1也被实例化了,为什么呢,因为service2需要它。也就是说lazy-init="true"的bean,IoC容器启动时不会实例化该bean,只有当容器需要用到时才实例化它。lazy-init有利于容器效率,对于不需要的bean可以先不管。
2.abstract
<bean id="baseTxService"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
……
</bean>
bean abstract="true"时,该bean不会被实例化,上面的bean是个模板
spring的容器是提供了lazy-load的,即默认的缺省设置是bean没有lazy-load,该属性处于false状态,这样导致spring在启动过程导致在启动时候,会默认加载整个对象实例图,从初始化ACTION配置、到service配置到dao配置、乃至到数据库连接、事务等等。
这么庞大的规模,难怪spring的启动时间要花将近1分钟。尝试了一下,把beans的default-lazy-init改为true就,再次启动,速度从原来的55秒,降到8秒钟!!Great!虽然是非常小一个改动,但是影响确实非常大。
Spring的default-lazy-init 与 lazy-init
在同一个文件中<bean />里面设置的优先级大于<beans />里设置的优先级:
view plaincopy to clipboardprint?
1.<beans /> <bean /> immediately
2.<beans /> <bean lazy-init="true" /> lazy
3.<beans /> <bean lazy-init="false"/> immediately
4.<beans default-lazy-init="true"/> <bean /> lazy
5.<beans default-lazy-init="true"/> <bean lazy-init="true" /> lazy
6.<beans default-lazy-init="true"/> <bean lazy-init="false" /> immediately
7.<beans default-lazy-init="false"/> <bean /> immediately
8.<beans default-lazy-init="false"/> <bean lazy-init="true" /> lazy
9.<beans default-lazy-init="false"/> <bean lazy-init="false" /> immediately
如果在一个spring配置文件中引入另外的配置文件,如:<import resource="classpath:beanss.xml"/>
则以被引入文件(beanss.xml)中设置的<beans />里的设置为准,与引入文件中的设置无关。
view plaincopy to clipboardprint?
<bean id="testInit" lazy-init="true" init-method="init" class="com.test.Test">
</bean>
如果在一个spring配置文件中引入另外的配置文件,如:<import resource="classpath:beanss.xml"/>
则以被引入文件(beanss.xml)中设置的<beans />里的设置为准,与引入文件中的设置无关。
<bean id="testInit" lazy-init="true" init-method="init" class="com.test.Test">
</bean>
spring的default-lazy-init参数
spring在启动的时候,会默认加载会默认加载整个对象实例图,从初始化ACTION配置、到 service配置到dao配置、乃至到数据库连接、事务等等。这样可以减少web服务器在运行时的负担,但是对于开发者来说无疑是效率极低的一个设置了。
还好,spring提供了default-lazy-init属性,其配置形式如下,applicationContext.xml中:
< beans default-lazy-init ="true" >
< bean class ="org.xxxx.bean" >
。。。。。。
</beans>
spring配置默认default-lazy-init为false,当配置为true时sping不会再去加载整个对象实例图,大大减少了初始化的时间,减少了spring的启动速度。
这样做只是为了在开发过程中节约启动时间,在部署到实际环境中,倒是没必要设置default-lazy-init为true。毕竟部署到实际环境中不是经常的事,每次启动1分钟倒不是大问题,而且可以提高服务器效率。
当然,也不是所有的beans都能设置default-lazy-init成为true.对于scheduler的bean不能用lazy-init
< beans default-lazy-init ="true" >
< bean class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
< property name ="triggers" >
< list >
< ref bean ="buildHtmlTrigger" />
< ref bean ="askTrigger" />
< ref bean ="mailSenderTrigger" />
< ref bean ="topicDetailBuildTrigger" />
< ref bean ="forumBuildTrigger" />
< ref bean ="topicBuildTrigger" />
</ list >
</ property >
</ bean >
</ beans >
这样的话。所有的scheduler就都不管用了。所以请大家要注意。
Spring 中lazy-init 和abstract 属性
1.lazy-init
<beans>
<bean id="service1" type="bean路径" lazy-init="true"/>
<bean id="service2" type="bean路径" lazy-init="false">
<property name="service1" ref="service1"/>
</bean>
</beans>
以上两个bean,一个lazy-init属性为true,一个为false,由什么区别呢
当 IoC容器启动时,service2会实例化,而service1则不会;但是但容器实例化service2时,service1也被实例化了,为什么呢,因为service2需要它。也就是说lazy-init="true"的bean,IoC容器启动时不会实例化该bean,只有当容器需要用到时才实例化它。lazy-init有利于容器效率,对于不需要的bean可以先不管。
2.abstract
<bean id="baseTxService"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
……
</bean>
bean abstract="true"时,该bean不会被实例化,上面的bean是个模板
发表评论
-
Spring Boot 属性配置
2016-06-24 11:04 1181Spring Boot 属性配置和使用 http://blog ... -
Spring Boot 集成MyBatis
2016-06-24 10:55 2025Spring Boot 集成MyBatis http://bl ... -
Spring MVC防重复提交
2016-06-17 15:47 1645http://my.oschina.net/zyqjustin ... -
Spring容器加载完之后执行特定任务
2016-06-17 15:36 2284http://my.oschina.net/simpleton ... -
使用spring-session和shiro来代理session的配置
2016-06-16 11:21 12057使用spring-session和redis来代理sessio ... -
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1335http://blog.csdn.net/xiyuan1999 ... -
spring mvc 请求转发和重定向
2016-06-14 09:48 1397http://blog.csdn.net/jackpk/art ... -
mvc:view-controller
2016-05-18 10:26 1083http://blog.csdn.net/lzwglory/a ... -
spring配置事物的方式:注解和aop配置
2016-05-14 00:26 4102参考: Spring AOP中pointcut express ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2287http://www.oschina.net/p/uncode ... -
Mybatis分库分表扩展插件
2016-05-12 15:47 1620http://fangjialong.iteye.com/bl ... -
spring+mybatis+atomikos 实现JTA事务
2016-05-11 22:00 5522sping配置多个数据源 不同用户操作不同数据库 http:/ ... -
Spring中使用注解 @Scheduled执行定时任务
2016-05-10 09:39 1566原文:http://dwf07223.blog.51cto.c ... -
Spring中配置Websocket
2016-05-05 16:55 1276spring+websocket整合(springMVC+sp ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1315集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4791使用Spring-data进行Redis操作 http://z ... -
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
2016-05-03 13:35 1060Spring4新特性——集成Bean Validation 1 ... -
SpringMVC介绍之Validation
2016-05-03 13:10 983SpringMVC介绍之Validation http://h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3076原文: http://www.programgo.com/ar ... -
Spring MVC学习详解
2016-04-28 09:13 1003原文 http://blog.csdn.net/alsocod ...
相关推荐
default-lazy-init参数是Spring配置文件中的一个全局参数,它控制着所有Bean的实例化时机。默认情况下,default-lazy-init参数的值为false,这意味着所有Bean都会在Spring容器启动时实例化。这样可以减少Web服务器在...
`<beans>`元素添加了`default-lazy-init`属性,可以设置整个配置文件中所有bean的默认延迟初始化行为。此外,`<constructor-arg>`和`<property>`支持了`ref`和`value`的简写形式,使得配置更简洁。 `spring-beans-...
初始化:<bean init-method=""/> e.资源释放:<bean destroy-method=""/>仅对单例对象有效 (2)IoC概念 Inversion of Control 控制反转或控制转移 Don't Call Me,We will call you! 控制权:对象的创建和调用...
初始化:<bean init-method=""/> e.资源释放:<bean destroy-method=""/>仅对单例对象有效 (2)IoC概念 Inversion of Control 控制反转或控制转移 Don't Call Me,We will call you! 控制权:对象的创建和调用...
初始化:<bean init-method=""/> e.资源释放:<bean destroy-method=""/>仅对单例对象有效 (2)IoC概念 Inversion of Control 控制反转或控制转移 Don't Call Me,We will call you! 控制权:对象的创建和调用...
-- 关于spring启动的优化 default-lazy-init="true" --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> ...
我的博客中“maven环境搭建及Spring入门”的项目代码。在idea中运行成功。 1。创建IOC容器 2。通过xml装配对象 【简单类型用value、复杂(引用类型)用ref、数组,集合,Map的装配】 ...default-lazy-init=true
在Spring中配置一个bean为延迟实例化非常简单,只需要在`<bean>`元素中添加`lazy-init`属性并设置其值为`true`即可。例如: ```xml <bean id="lazyBean" class="com.example.LazyBean" lazy-init="true"> <!-- ...
- `default-init-method`和`default-destroy-method`:用于指定默认的初始化和销毁方法,如果未在Bean定义中指定,容器会尝试调用这些方法。 4. **Spring 外部化配置元信息**:PropertySource表示从外部文件加载的...
default-lazy-init="false" default-autowire="byName"> <context:annotation-config/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value=...
接着,需要在`web.xml`文件中配置Spring的监听器,以便于启动时加载Spring的上下文。 ```xml <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> ``` 另外,还需要定义...
'default-lazy-init' attribute is not processed when XSD validation is disabled [SPR-8335] #12983 Spring JavaMailSenderImpl does not show proper message when recipient list is empty [SPR-17540] #22072 ...
1. `default-init-method`: 如果设置了这个属性,那么配置文件中所有的Bean在初始化时都会调用指定的方法。这是一个方便的机制,用来确保所有Bean在开始使用前都完成了必要的初始化工作。 2. `default-destroy-...
default-lazy-init="true"> <!-- 配置PropertyPlaceholderConfigurer以读取jdbc.properties --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config....
当在Spring配置文件中加入`<context:component-scan base-package="leot.test"/>`,Spring会扫描指定包(本例中为"leot.test")及其子包下的所有类,查找带有上述注解的类,并将其注册为Spring管理的Bean。...
<beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name=...
- `default-lazy-init="true"`表示默认情况下Bean的实例化采用懒加载方式。 ```xml <!-- 源Bean提供Hibernate session factory --> <bean id="dataSource" class="..."> <!-- 数据源配置省略 --> <bean id=...
1. **构造器注入**:通过 `<constructor-arg index="" type="" value="" or ref="" />` 在 `<bean>` 中配置。 2. **Setter 方法注入**:通过提供 setter 方法来注入依赖对象。 3. **Field 注入**:通过使用注解...
在 Xml 文件中配置: <bean class="com.demo.Room" init-method="turnOnLights" destroy-method="turnOffLights"/> 在 Ioc 容器中实例化该 Bean,在销毁它。 Spring 配置使用之 Bean 生命周期详解是非常重要的,...