SPRING.NET 1.3.2 学习17--使用延迟加载

延迟加载的意义是什么,为什么需要延迟加载,请看这篇文章

浅析C#延迟加载的运行机制和应用场景

http://www.51testing.com/html/00/n-235500.html

关于这个,c#4.0 提供了一个包装类 Lazy<T>,这里有它的源码分析

http://www.cnblogs.com/me-sa/archive/2010/05/25/Lazy-initialization-Fx4.html

实际就是使用了单例模式,在给对象的属性赋值时才实例化对象,再次访问只是返回缓存的对象实例,所以说Lazy类看起来很神奇,但它只是个包装类而已

而Spring.net也有它自己的实现方式,当然这又离不开XML配置,在Spring.net下一般对象的创建都是在ApplicationContext启动时提前被实例化,如果要延迟加载需要lazy-init="true",如下所示

<object id="lazy" type="MyCompany.ExpensiveToCreateObject, MyApp" lazy-init="true"/>

另外可以在容器级别直接定义延迟加载,这样在里面定义的对象全部都是延迟加载的

<objects default-lazy-init="true">
  <!-- no objects will be pre-instantiated... -->
</objects>









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值