1. 程式人生 > >MVC+Nhibernate+spring.net(三)

MVC+Nhibernate+spring.net(三)

 

當前層次已經分好

分層架構

畫的不是太好啊,後面我會上程式碼,大家先將就著看吧。

現在開始搭建spring

搭建spring首先引用類庫檔案:

spring.Aop
Spring.Core
spring.Web
spring.Web.Extensions
spring.Web.Mvc4

將這幾個程式集都新增完成之後,修改Global.asax.cd中的System.Web.HttpApplication為Spring.Web.Mvc.SpringMvcApplication

然後開始配置web.config

在<configSections>新增

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

 在<configuration>節點下面新增如下方法:

<!--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的知識,大家可以參考一下: