MVC+Nhibernate+spring.net(三)

 

当前层次已经分好web

分层架构spring

画的不是太好啊,后面我会上代码,你们先将就着看吧。多线程

如今开始搭建spring架构

搭建spring首先引用类库文件:线程

spring.Aop
Spring.Core
spring.Web
spring.Web.Extensions
spring.Web.Mvc43d

将这几个程序集都添加完成以后,修改Global.asax.cd中的System.Web.HttpApplication为Spring.Web.Mvc.SpringMvcApplicationserver

而后开始配置web.configxml

在<configSections>添加对象

 <!--Spring.Net块配置-->
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.MvcContextHandler,Spring.Web.Mvc4" />
    </sectionGroup>
    

 在<configuration>节点下面添加以下方法:blog

<!--Spring.Net的容器配置节点-->
<spring>
<context>
<resource uri="file://~/Config/Server.xml" />
<resource uri="file://~/Config/controllers.xml" />
<resource uri="file://~/Config/Dals.xml" />
</context>
</spring>

如今在web的根目录下建立一个Config文件夹,在config文件夹里面创三个文件

dal是数据访问层往bll层注入的

server是接受dal层的注入并往controlle层注入的

controllers是接受server层注入的

先来实例化DbSession

这个是经过一个工厂的静态对象来实例化对象

<!--经过工厂的一个静态方法来建立对象  type就配置到工厂类型就能够了-->
  <object name="DbSession" type="Factory.DbSessionFactory,Factory" singleton="false"
          factory-method="GetCurrentDbSession" >

 name是要注入的属性名  type="程序集+类名,程序集"  

singleton="false"  要求在多线程的环境下必须是一个线程对应一个实例
还有另外一种办法,就是经过工厂实例方法注入
 <!--经过工厂的实例方法来建立对象的配置-->
 <object name="DbSession" type="AioaAgain.DALFactory.DbSession,AioaAgain.DALFactory" singleton="false" 
          factory-method="GetCurrentDbSession" foctory-object="DbSessionFactory">

暂时先作一个了解,等我把这个项目写完,我准备写一个spring专题。网上也有不少spring的知识,你们能够参考一下:

相关文章
相关标签/搜索