SPRING.NET 1.3.2 学习18--方法注入之IObjectFactoryAware,IObjectNameAware
来源:互联网 发布:淘宝解绑微博 编辑:程序博客网 时间:2024/06/05 09:17
有一种解决的办法有点违背控制反转原则:类A可以通过实现IObjectFactoryAware接口来获取容器的引用,并调用GetObject("B")在每次需要的时候从容器中请求一个(新的)对象B。但这并不是一个很好的解决方案,因为客户代码此时必须要和Spring.NET发生紧耦合。
通过方法注入,我们可以用更优雅的方式解决类似的问题。(摘自Spring.NET中文手册)
Spring.Net 中提供了两个接口,我们使用这两个接口可以让对象了解自己的容器。
一 . IObjectFactoryAware 接口
实现了 Spring.Objects.Factory.IObjectFactoryAware 接口 的对象可以在被容器创建后获取它所在容器的引用。该接口只有一个(只写的)属性:
IObjectFactory ObjectFactory:该属性会在初始化方法(IInitializingObject 的 AfterPropertiesSet 方法,或在对象定义中由 init-method 属性 指定的方法)完成后被赋值。
IObjectFactoryAware 接口 允许对象通过编程方式访问创建它的容器,一般主要用来在编程时获得容器内的其它对象。虽然这种方式在某些情况下(似乎)很有用,但我们应该尽量避免这么做,因为这会导致代码同 Spring.NET 发生紧耦合,并且违反了控制反转原则。
二 . IObjectNameAware 接口
Spring.Objects.Factory.IObjectNameAware 接口 可让对象知道在容器中叫什么名称,如果对象需要知道自己在容器中的名称,可以实现该接口:
string ObjectName:该属性使实现了 IObjectNameAware 接口 的对象能够知道自己在容器中的名称。
此文章展示了它们的用法
http://www.cnblogs.com/cilence/archive/2013/03/12/2955242.html
- SPRING.NET 1.3.2 学习18--方法注入之IObjectFactoryAware,IObjectNameAware
- SPRING.NET 1.3.2 学习19--方法注入之查询方法注入
- SPRING.NET 1.3.2 学习20--方法注入之替换方法注入
- SPRING.NET 1.3.2 学习5--依赖注入
- SPRING.NET 1.3.2 学习15--事件注入
- Spring 之方法注入
- SSH与SSM学习之Spring04——Spring属性注入之set方法注入
- Spring学习之依赖注入
- spring学习之属性注入
- spring学习之注入对象
- spring学习之注入依赖
- Spring学习之依赖注入
- spring学习之---依赖注入
- Spring.NET学习笔记(2)-依赖注入细节
- Spring.NET学习笔记(2)-依赖注入细节
- SPRING.NET 1.3.2 学习21--使用对象或类的属性值进行注入
- SPRING.NET 1.3.2 学习22--使用字段值进行注入
- SPRING.NET 1.3.2 学习23--使用方法的返回值进行注入
- hdu 4523 威威猫系列故事——过生日(简单大数相加比较)
- Tomcat部署方法整理
- vb 可编辑列数据的ListView
- EXCEL VBA 二维表转换成一维表
- java的hashcode方法
- SPRING.NET 1.3.2 学习18--方法注入之IObjectFactoryAware,IObjectNameAware
- html与xhtml区别
- excel导入sqlite
- IOS NSUserDefault的使用
- vi常用命令
- VB 可编辑列数据的MSHFlexGrid
- Ubuntu 下截图工具
- Jquery esay ui datagrid formatter属性简单使用
- ios开发self的用法