Spring.Net框架技术介绍与应用.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * Spring.Net框架技术 引用资料:/GoodHelper/tag/Spring.NET/ 什么是Spring.Net? Spring.Net是一个轻量级的控制反转(IoC)和面向切面编程(AOP)技术的容器框架。 下图展示了各种类型的核心模块: 第一阶段:控制反转与依赖注入 1、控制反转(IoC) 2、环境搭建 3、实现一个简易的Ioc框架 4、对象的创建 5、容器中对象的作用域 6、依赖注入(DI) 7、依赖对象的注入 8、集合类型的注入 9、打造一个简易的依赖注入框架 10、方法注入 11、自定义对象行为 1、控制反转(IoC) 控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合。 3种实现方式比较: 1、一般方法:对象间直接耦合; 2、工厂方法:对象间通过工厂耦合; 3、IoC方法:把耦合放入XML文件,通过容器这需要的时候把这个依赖关系形成;可以看成是工厂模式的升华。 2、环境搭建 1、常用dll(注意dll的版本区分) Common.Logging.dll(必需) Spring.Core.dll(必需) Spring.AOP.dll … 2、配置文件的读取方式 实际物理路径: IResource input = new FileSystemResource(@D:\Objects.xml);? IObjectFactory factory = new XmlObjectFactory(input); 程序集下读取文件: string[] xmlFiles = new string[] { file://文件名, assembly://程序集名/命名空名/文件名, }; IApplicationContext context = new XmlApplicationContext(xmlFiles); 3、实现一个简易的Ioc框架 本节通过手动实现一个简易的IoC框架的,来加深IoC的理论知识 。 4、对象的创建(1) 一般有3种方式:构造器、静态工厂、实例工厂 1、构造器 需满足的条件: 1.1 指明对象类型:type=“类全名,程序集名”或使用强命名 1.2 有一个无参的构造函数或者默认构造函数(可以带参数) 例:object id=PersonDao type=SprintTest. PersonDao, SprintTest / 2、静态工厂 创建一个静态工厂方法,并配置factory-method属性 例:object id=staticFactory type=SprintTest.StaticFactory, SprintTest factory-method=CreateInstance / 3、实例工厂 需满足的条件: 3.1 创建一个实例工厂类,并配置factory-method和factory-object属性 3.2 实例工厂方法所在的对象必须配置在同一容器(或父容器)中 4、对象的创建(2) 3.3 需创建对象的配置定义不能包含type属性 例:!--实例工厂-- object id=instanceFactory type=SprintTest.InstanceFactory, SprintTest / !--创建的对象-- object id=PersonDao factory-method=CreateInstance factory-object=instanceFactory / 4、泛型类型的创建 泛型类型可采用上面3中任一方式创建,只是type属性的设置需注意:左尖括号要替换为lt;。 例:!--泛型类型 genericClassint-- object id=genericClass type=SprintTest.GenericClasslt;int, SprintTest / 5、容器中对象的作用域(1) 1、容器对象的部署(2种) 1.1 singleton(框架默认)

文档评论(0)

fat-bee + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档