开发项目文件
应用程序的配置文件App.config:
以下是不变的.
1. Spring.NET
(1)
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
(2). 放置其他配置的嵌入资源文件的段:
<spring>
<context>
<resource uri="config://spring/objects"/>
<resource uri="assembly://DBLayer/DBLayer.OA/BS_DB_BaseConfig.xml"/>
<resource uri="assembly://DBLayer/DBLayer.OA/BS_DB_Location.xml"/>
</context>
<objects xmlns="http://www.springframework.net" >
<description>An example that demonstrates simple IoC features.</description>
</objects>
</spring>其中的<Context></Context>段是创建容器的部分, 所以配置Nhibernate和对象影谢的文件也可放在这儿, BS_DB_BaseConfig.xml是对Nhibernate的基础配置, BS_SB_Location.xml是对对象影射的文件
也可以将对象影射放在<objects></objects>段中
3)配置Nhibernate--BS_DB_BaseConfig.xml
a. <!-- 配置Nhibernate所需的数据库的DbProvider -->
<object id="DbProvider" type="DBLayer.OA.BASE.SQLProvider, DBLayer">
<property name="ConnectionString" value="Data Source=(local);Database=HotelMIS1.5;User ID=sa;Password=;Trusted_Connection=False"/>
</object>其中的<property name是指你连接到数据库的字符串
b. <!--对Nhibernate的SessionFactory的封装对象-->
<object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate">
<property name="DbProvider" ref="DbProvider"/>
<property name="MappingAssemblies">
<list>
<value>DBLayer</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"/>
</dictionary>
</property>
</object>其中 <property name="MappingAssemblies">
<list>
<value>DBLayer</value>
</list>DBLayer是程序集名称
c. <!--对Nhibernate的Transaction的封装对象-->
<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>2. 注释: 除了上面用黑色字体特别标准的内容外,其余的都是不是固定的内容.
3.注释.对象映射, HBM.XML文件中的属性必须在对象的类的属性中有,并且名字要相同,否则在装载Nhibernate配置时也会出现"Spring.root"错误的提示.
有了上面的基础配置,Spring.NET&NHibernate基本上就可以运行了.