(延时加载)Spring框架中的lazy-init="true"和default-lazy-init="true"的区别
2018-01-22 20:16
441 查看
启动Spring框架,因为default-lazy-init="false",会默认加载整个对象实例图,从初始化Controller(控制层)配置,到Service(业务逻辑层),再到dao(数据访问接口层),最后到数据库连接等等,该default-lazy-init配置默认为false,加重web服务器在运行时的压力,所以出现标题那两种配置很好的解决这个服务器加载不必要提前加载的对象的问题。
1.共同点:
减少启动Spring的时间,减少web服务器在运行的负担。
2.不同点:
1)default-lazy-init参数,其配置形式如下:
<beans default-lazy-init="true" > </beans>
配置default-lazy-init参数为true时,当创建IoC容器时,bean中对象不会实例化,当IoC容器需要实例化某个bean中的对象,对象才被实例化
2.lazy-init参数,其配置形式如下:
<bean id="stu" lazy-init=“true”></bean>
当创建IoC容器时,bean中id为stu对象不会实例化,当IoC容器需要实例化stu对象,才被实例化
注意点:default-lazy-init参数是配置在beans标签中,而lazy-init参数配置在相应需要延时加载的bean标签中,default-lazy-init参数针对所有的bean配置,而lazy-init参数针对需要的延时加载的bean配置,所以lazy-init比default-lazy-init的优先级更高,
1.共同点:
减少启动Spring的时间,减少web服务器在运行的负担。
2.不同点:
1)default-lazy-init参数,其配置形式如下:
<beans default-lazy-init="true" > </beans>
配置default-lazy-init参数为true时,当创建IoC容器时,bean中对象不会实例化,当IoC容器需要实例化某个bean中的对象,对象才被实例化
2.lazy-init参数,其配置形式如下:
<bean id="stu" lazy-init=“true”></bean>
当创建IoC容器时,bean中id为stu对象不会实例化,当IoC容器需要实例化stu对象,才被实例化
注意点:default-lazy-init参数是配置在beans标签中,而lazy-init参数配置在相应需要延时加载的bean标签中,default-lazy-init参数针对所有的bean配置,而lazy-init参数针对需要的延时加载的bean配置,所以lazy-init比default-lazy-init的优先级更高,
相关文章推荐
- Spring配置default-lazy-init="true"
- Spring 中的default-lazy-init="true" 和 lazy-init="true"
- Spring 中的default-lazy-init="true" 和 lazy-init="true"
- Spring 中的default-lazy-init="true" 和 lazy-init="true"
- Spring配置文件中的 default-lazy-init="true"
- Spring 中的default-lazy-init="true" 和 lazy-init="true"
- Spring 配置中的 default-lazy-init="false"
- spring启动的优化 default-lazy-init=true
- Spring 中的default-lazy-init="true" 和 lazy-init="true"
- Spring 配置中的 default-lazy-init="false"
- Spring 配置中的 default-lazy-init="false"详解
- Spring 配置中的 default-lazy-init="false"
- spring的default-lazy-init参数和spring的自动装配(default-autowire="byName")
- Swift 懒加载(lazy) 和 Objective-C 懒加载的区别
- <%@ page include=""%> 和<jsp:include flush="true" page=""></jsp:include>两者的区别
- init()方法里的这三个,有什么区别?this.getServletConfig().getInitParameter("username")+"----"+this.getServletConte
- 浅谈spring中的default-lazy-init参数和lazy-init
- Spring使用OpenSessionInViewFilter解决Hibernate的lazy延时加载问题
- Swift 懒加载(lazy) 和 Objective-C 懒加载的区别
- proxy-target-class="true" 与proxy-target-class="false"的区别