一、环境下载及安装
到Spring的官方网站下载Spring.NET框架的安装文件(Spring.NET-1.3.0-RC1.exe)。目前Spring.NET最新的版本是1.3。下载并解压后就可以了。
我们使用Spring.NET框架经常用到的一下几个文件:
Common.Logging.dll(必要)
Spring.Core.dll(必要)
Spring.Data.dll
Spring.Aop.dll(可选)
Spring.Data.NHibernate21.dll
Spring.Web.dll
在基于XML的工厂中,这些对象定义表现为一个或多个<object>子节点,它们的父节点必须是<objects>(按:objects节点的xmlns元素是必需的,必须根据不同的应用添加不同的命名空间,以便有IDE的智能提示(见Spring.NET中文手册)。
我们使用Spring.NET框架经常用到的一下几个文件:
Common.Logging.dll(必要)
Spring.Core.dll(必要)
Spring.Data.dll
Spring.Aop.dll(可选)
Spring.Data.NHibernate21.dll
Spring.Web.dll
在基于XML的工厂中,这些对象定义表现为一个或多个<object>子节点,它们的父节点必须是<objects>(按:objects节点的xmlns元素是必需的,必须根据不同的应用添加不同的命名空间,以便有IDE的智能提示(见Spring.NET中文手册)。
Object.XML
<objectsxmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net
http://www.springframework.net/xsd/spring-objects.xsd">
<objectid=""type="">
</object>
<objectid="."type="">
</object>
</objects>
二、建立一个Spring.NET应用程序
我们新建一个Objects.xml的文件,然后从Spring.NET手册中复制来一段配置模板
Objects.xml
<?xmlversion="1.0"encoding="utf-8" ?>
<objectsxmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net
http://www.springframework.net/xsd/spring-objects.xsd">
<objectid="PersonDao"type="FirstSpringNetApp.PersonDao, FirstSpringNetApp">
</object>
</objects>
目前我找到了实例化Spring.NET容量的两种方式:
1.实际物理路径
IResourceinput = newFileSystemResource(@"D:\Objects.xml");//实际物理路径
IObjectFactoryfactory = newXmlObjectFactory(input);
2.程序集下寻找配置文件
string[] xmlFiles = newstring[]
{
"file://Objects.xml"
};
IApplicationContextcontext = newXmlApplicationContext(xmlFiles);
IObjectFactoryfactory = (IObjectFactory)context;
Console.ReadLine();
目前我一般采用后者(程序集下寻找配置文件),这样维护起来比较方便。这种方式需满足URI语法。file://文件名
assembly://程序集名/命名空名/文件名然而更好的方式是在配置文件App.config或Web.config添加自定义配置节点在配置文件中要引入<objects xmlns="http://www.springframework.net"/>xmlns="http://www.springframework.net"/>命名空间,否则程序将会无法实例化Spring.NET容器。
assembly://程序集名/命名空名/文件名然而更好的方式是在配置文件App.config或Web.config添加自定义配置节点在配置文件中要引入<objects xmlns="http://www.springframework.net"/>xmlns="http://www.springframework.net"/>命名空间,否则程序将会无法实例化Spring.NET容器。
App.config
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroupname="spring">
<sectionname="context"type="Spring.Context.Support.ContextHandler, Spring.Core"/>
<sectionname="objects"type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
</sectionGroup>
</configSections>
<spring>
<context>
<resourceuri="assembly://FirstSpringNetApp/FirstSpringNetApp/Objects.xml"/>
<resourceuri="config://spring/objects"/>
</context>
<objectsxmlns="http://www.springframework.net"/><!--必要-->
</spring>
</configuration>
IApplicationContextctx = ContextRegistry.GetContext();Console.WriteLine(ctx.GetObject("PersonDao").ToString());
Spring.NET的环境配置就ok了。