IObjectFactory和IApplicationContext, xmlApplication和WebApplicationContext
1. IObjectFactory.
1)IObjectFactory是初始化、配置及管理对象的实际容器(按:它是所有容器的父接口)。
2)Spring.Objects.Factory.IObjectFactory接口有多个实现类。最常用的是Spring.Objects.Factory.Xml.XmlObjectFactory, 用XmlObjectFactory创建一个容器
IResource input = new FileSystemResource ("objects.xml");
IObjectFactory factory = new XmlObjectFactory(input);
objects.xml文件中定义了要装配(按:装配的概念见后文)和发布的服务对象。将该文件的位置信息传递给XmlObjectFactory的构造器,即可创建一个容器
2.IApplicationContext.
1)IApplicationContext是IObjectFactory的超集.
2).XmlApplicationContext是IApplicationContext接口的实现类之一.XmlApplicationContext创建一个容器
IApplicationContext context = new XmlApplicationContext(
"file://objects.xml",
"assembly://MyAssembly/MyProject/objects-dal-layer.xml");
3. IApplicationContext当然可以转型为IObjectFactory: IObjectFactory factory = (IObjectFactory) context;
4. 第一被引用的XML资源文件在VS中必须是内嵌, 第二, 必须注意引用时的语法格式
5. 通过1,2配置容器已经被创建, 接下来是引用.
IApplicationContext ctx = ContextRegistry.GetContext();引用时配置文件中<configSections>
<sectionGroup name="spring"></sectionGroup></configSections>节点设置见<<Spring.NET和Nhibernate开发程序的点滴(2) >>
6 .WebApplicationContext也是IApplicationContext接口的实现类之一. XmlApplicationContext用于WINDOWS应用程序, 来源于Spring.core--Spring.Context.Support. WebApplicationContext用于Web. 来源于Spring.Web-Spring.Context.Support