Spring.net的初次使用(3)--关于配置文件
using System;
using System.Collections.Generic;
using System.Text;
using Ivan.Spring.Model;
using Ivan.Spring.Bll;
using System.Collections;
using System.IO;
using System.Configuration;
namespace Ivan.Spring
{
public class MainStart
{
public MainStart()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static void Main()
{
SpringContext.init();




//UserManager userManager = SpringContext.Context.GetObject("UserManager") as UserManager;
//#region 入库操作
////User user =new User();
////user.Id = "liluhua2";
////user.Password = "123456";
////user.LastLogon = DateTime.Now;
////user.UserName="dddd";
////userManager.SaveObject(user);
//#endregion
//IList list = userManager.GetAllUserList();
//foreach (User _user in list)
//{
// Console.WriteLine("用户ID:" + _user.Id + ",用户密码:" + _user.Password + ",用户姓名:" + _user.UserName);
//}
//Console.ReadLine();//程序停留
}
}
}
using System;
using Spring.Core;
using Spring.Aop;
using Spring.Context;
using Spring.Context.Support;
namespace Ivan.Spring
{
public class SpringContext
{
public SpringContext()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private static bool isInit = false;
private static IApplicationContext context;
public static void init()
{
string[] xmlFiles = new string[3];
xmlFiles[0] = "assembly://RunSpring/Ivan.Spring/spring.net_bean_nhibernate.xml";
xmlFiles[1] = "assembly://RunSpring/Ivan.Spring/spring.net_bean_business.xml";
xmlFiles[2] = "assembly://RunSpring/Ivan.Spring/spring.net_bean_app.xml";
//xmlFiles[3] = "assembly://RunSpring/Ivan.Spring/spring.net_bean_web.xml";
//xmlFiles[4] = "assembly://RunSpring/Ivan.Spring/spring.net_bean_web_base.xml";
context = new XmlApplicationContext(xmlFiles);
isInit = true;
}
public static IApplicationContext Context
{
get
{
if (!isInit)
{
init();
}
return context;
}
}
}
}
所有的xml文件属性都要设置成 嵌入式资源
spring.net_bean_nhibernate.xml
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns='http://www.springframework.net'>
<object id="SystemInit" type="Ivan.Spring.SystemInit,RunSpring" init-method="Start" destroy-method="Stop">
<constructor-arg name="IsDebug" value="true"/>
</object>
<!--配制数据库的表头几个字母-->
<!--<object id="NamingStrategy" type="FastSpring.NHibernate.NamingStrategyCore,FastSpring.Net" >
<property name="TableHead" value="TOK_"/>
</object>-->
<!--以下这个配置是为了单元测试时候连接数据库-->
<!--<object id="DbProvider" type="Spring.Data.Common.DbProviderFactoryObject,Spring.Data">
<property name="Provider" value="SqlServer-2.0"/>
<property name="ConnectionString" value="Data Source=127.0.0.1;Database=OfficeOnline;User ID=sa;Password=;Trusted_Connection=False"/>
</object>-->
<object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate">
<!--<constructor-arg name="NamingStrategy" ref="NamingStrategy"/>-->
<property name="DbProvider" ref="DbProvider"/>
<property name="MappingAssemblies">
<list>
<value>RunSpring</value>
</list>
</property>
<property name="HibernateProperties">
<dictionary>
<entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect"/>
<entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
<entry key="hibernate.connection.isolation" value="ReadCommitted"/>
</dictionary>
</property>
</object>
<object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate">
<property name="DbProvider" ref="DbProvider"/>
<property name="sessionFactory" ref="SessionFactory"/>
</object>
<object id="TransactionInterceptor" type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data">
<property name="TransactionManager" ref="HibernateTransactionManager"/>
<property name="TransactionAttributeSource">
<object type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data"/>
</property>
</object>
</objects>spring.net_bean_business.xml
<?xml version="1.0" encoding="utf-8" ?>
<!-- 业务层的对像定义 DAO & Manager -->
<objects xmlns='http://www.springframework.net'>
<object id="DaoBase" abstract="true" type="Ivan.Spring.Dao.DaoBase,RunSpring">
<property name="SessionFactory" ref="SessionFactory"/>
</object>
<object id="UserDao" type="Ivan.Spring.Dao.UserDao,RunSpring" parent="DaoBase">
</object>
<object id="UserManager" type="Ivan.Spring.Bll.UserManager,RunSpring">
<property name="UserDao" ref="UserDao"/>
</object>
</objects>
<?xml version="1.0" encoding="utf-8" ?>
<!-- 应用层的对像定义 -->
<objects xmlns='http://www.springframework.net'>
</objects>
为了能他在WEB项目中引用还需要配置WEB层的文件
spring.net_bean_web.xml
<?xml version="1.0" encoding="utf-8" ?>
<!-- WEB层的页面对像定义 -->
<objects xmlns='http://www.springframework.net'>
<object id="Default" type="Default.aspx" parent="basePage">
<property name="UserManager" ref="UserManager" />
</object>
</objects>
spring.net_bean_web_base.xml 可以不需要设置基类页 可以将basePage注释掉
<?xml version="1.0" encoding="utf-8" ?>
<!-- WEB层的基本对像定义 BasePage -->
<objects xmlns='http://www.springframework.net'>
<object id="basePage" abstract="true">
<!--<property name="MasterPageFile" value="~/MasterPage.master"/>-->
<!--property name="CultureResolver" ref="cultureResolver"/>
<property name="Localizer" ref="localizer"/>
<property name="CssRoot" value="~/Web/CSS"/>
<property name="ImagesRoot" value="~/Web/Images"/>
<property name="ScriptsRoot" value="~/Scripts" /-->
</object>
</objects>



浙公网安备 33010602011771号