Spring.NET和Nhibernate开发程序的点滴(1)

开发项目文件

应用程序的配置文件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基本上就可以运行了.

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值