spring的懒加载

在spring的IOC容器中,可以通过设置<beans default-lazy-init="XXX"></beans>来设置是否为懒加载模式,懒加载的意思就是说是否在spring容器加载的时候将bean加载到容器中。在没有设置的情况下,默认是false的,就是说不使用懒加载模式。

当设置为false(或者没有设置的时候)tomcat启动的时候出现的是:

 Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
测试spring的lazy属性
2015-10-13 19:06:04 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2015-10-13 19:06:04 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2015-10-13 19:06:04 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/17  config=null
2015-10-13 19:06:04 org.apache.catalina.startup.Catalina start
信息: Server startup in 3546 ms

当设置true的时候,启动tomcat:

Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2015-10-13 19:15:44 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2015-10-13 19:15:44 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2015-10-13 19:15:44 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/51  config=null
2015-10-13 19:15:44 org.apache.catalina.startup.Catalina start
信息: Server startup in 3912 ms

这个是测试bean

package com.yonyou.sys.utils;
//测试bean 将spring容器中设置bean的配置文件
public class TestBeanLazy {

	public TestBeanLazy(){
		System.out.println("测试spring的lazy属性");
	}

}

  

时间: 2024-10-16 20:25:46

spring的懒加载的相关文章

SSH中懒加载异常的解决办法

web.xml 的配置文件 <!-- 配置Spring解决懒加载问题的过滤器 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <

【Spring源码分析】非懒加载的Bean实例化过程(下篇)

doCreateBean方法 上文[Spring源码分析]非懒加载的Bean实例化过程(上篇),分析了单例的Bean初始化流程,并跟踪代码进入了主流程,看到了Bean是如何被实例化出来的.先贴一下AbstractAutowireCapableBeanFactory的doCreateBean方法代码: 1 protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final Object[]

配置Spring的用于解决懒加载问题的过滤器

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://j

Spring懒加载机制

Spring默认会在容器初始化的过程中,解析xml,并将单例的bean创建并保存到map中,这样的机制在bean比较少时问题不大,但一旦bean非常多时,spring需要在启动的过程中花费大量的时间来创建bean 花费大量的空间存储bean,但这些bean可能很久都用不上,这种在启动时在时间和空间上的浪费显得非常的不值得. 所以Spring提供了懒加载机制.所谓的懒加载机制就是可以规定指定的bean不在启动时立即创建,而是在后续第一次用到时才创建,从而减轻在启动过程中对时间和内存的消耗. 懒加载

Spring集成JPA配置懒加载两个报错解决办法

一:报错no session 因为entitymanager对象在事物提交后就关闭了 报错的 no session相当于sql的session 解决办法:解决办法 在web.xmL配置一个过滤器 使其在这个session中的manager在结束后再关闭open <!--配置openmanager--> <filter> <filter-name>openEntity</filter-name> <filter-class>org.springfr

spring中Bean的懒加载

在ApplicationContext容器中,当容器一启动时,所有的bean(单例的)都会被创建和注入依赖,这也被视为IOC容器启动过程中的一个步骤. 那如何让一个bean在需要的时候再被创建,而不是容器一加载的时候呢? 在配置文件的bean标签中,将lazy-init属性设置为true <bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/> &

在web.xml中添加配置解决hibernate 懒加载异常

在web.xml添加如下,注意:在配置在struts2的拦截器之前 <!-- 配置Spring的用于解决懒加载问题的过滤器 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class&g

Hibernate懒加载异常说明及其解决方法

在集成ssh2三大框架的时候很容易就会造成懒加载异常,通常显示的错误信息是: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 懒加载异常出现的原因: 我们在Action中调用Service中的方法,方法中开始时open session,当调用结束后close session,例如类User中有一个Department属性,我们使用Hibernate查询一个User时,hibern

Spring IOC bean加载过程

首先我们不要在学习Spring的开始产生畏难情绪.Spring没有臆想的那么高深,相反,它帮我们再项目开发中制定项目框架,简化项目开发.它的主要功能是将项目开发中繁琐的过程流程化,模式化,使用户仅在固定文件中增加特定标签并实现特定逻辑层的代码就能完成项目开发.下面我们来分析web项目启动时bean的初始化过程. 我们遵循类的依赖,引用关系来理清spring在这一过程中的架构和细节实现.java web项目入口在web.xml,Spring在此配置入口servlet完成bean的加载.Dispat