标签:
Spring.Core作为整个Spring框架的基础,实现了依赖注入的功能。Spring框架的其它模块都要依赖或扩展该模块。
IObjectFactory接口,该接口实现了工厂模式,使用它可以帮我们创建对象,与具体的程序逻辑解耦。
IApplicationContext是IObjectFactory的扩展,增加了许多企业级的功能,包括使用资源文件进行文本本地化,事件传播,资源装载等等。
Spring.Net的配置
使用Spring.Net创建对象,需要在程序配置文件中配置
1:配置spring.Core的核心处理类型
在configSections节点中新增Spring的sectionGroup节点,申明Spring.Net处理的类型
<configSections> <sectionGroup name="spring"> <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core" /> <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" /> </sectionGroup> </configSections>
2:配置Spring框架如何创建对象的spring节点
spring定义了Spring.Net框架如何创建对象,Spring.Net框架使用这些配置信息,创建对象的。
每一个object节点定义了一个类型创建的配置信息,type属性中第一个参数是类型的完整名称,第二个参数是类型所在的dll名称
可以把spring节点中的objects节点单独放入另外一个Xml中
<spring> <context> <!--<resource uri="assembly://SpringNetStudy.Control/SpringNetStudy.Control/Objects.xml" />--> <resource uri="config://spring/objects" /> </context> <objects xmlns="http://www.springframework.net"> <!-- Objects节点可以移动到其它地方--> <description>一个简单的控制反转例子</description> <object id="PersonDao" type="SpringNetStudy.Control.PersonDao, SpringNetStudy.Control" /> </objects> </spring>
Spring.Net创建对象
1 IApplicationContext ctx = ContextRegistry.GetContext(); 2 IObjectFactory objectFactory = (IApplicationContext)ctx; 3 4 //IPersonDao personDao = ctx.GetObject("PersonDao") as IPersonDao; 5 IPersonDao personDao = objectFactory.GetObject("PersonDao") as IPersonDao; 6 personDao.Save();
创建IApplicationContext接口,使用该接口的GetObject()方法,其参数就是配置文件中的object节点的id属性值,依据type属性值,创建对象。返回object类型
IApplicationContext是IObjectFactory的扩展,可以将IApplicationContext转换成IObjectFactory接口,调用其GetObject()方法。
标签:
原文地址:http://www.cnblogs.com/guichi/p/4603388.html