<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    Spring &Hibernate集成

    Posted on 2009-02-16 20:02 啥都寫點 閱讀(199) 評論(0)  編輯  收藏 所屬分類: J2EE

    缺陷:依賴了UserManager

    原理:在Action中取得BeanFactory對象,然后通過BeanFactory獲取業務邏輯對象

    1springstruts依賴庫配置

       * 配置struts

          --拷貝struts類庫和jstl類庫

          --修改web.xml文件來配置ActionServlet

          --提供struts-config.xml文件

          --提供國際化資源文件

       * 配置spring

          --拷貝spring類庫

          --提供spring配置文件

    2、在strutsAction中調用如下代碼取得BeanFatory

    BeanFactoryfactory=WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession.getServletContext())

    3、通過BeanFactory取得業務對象,調用業務邏輯方法

     

    web.xml中做如下配置

    <context-param>

        <param-name>contextConfigLocation</param-name>

    <param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml</param-value>  變色部分如果已經在CLASSPATH中配置了可省略

     </context-param>

     

     <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

      </listener>

    servletConetext的一個助手類,可以讀取它àWebApplicationContextUtils

    Spring &Hibernate集成方案2



    原理:將業務邏輯對象通過spring注入到Action中,從而避免了在Action類中的直接代碼查詢。

    1springstruts依賴庫配置

       * 配置struts

          --拷貝struts類庫和jstl類庫

          --修改web.xml文件來配置ActionServlet

          --提供struts-config.xml文件

          --提供國際化資源文件

       * 配置spring

          --拷貝spring類庫

          --提供spring配置文件

    2、因為Action需要調用業務邏輯方法,所以需要在Action中提供setter方法,讓spring將業務邏輯注入過來

    3、在struts-config.xml文件中配置action

    * <action>標簽中的type屬性需要修改為org.springframework.web.struts.DelegatingActionProxy是一個Action,主要作用是取得BeanFactory,然后根據<action>中的path屬性值到IOC容器中取得本次請求對應的Action

    4、在spring配置文件中需要定義strutsAction,如:

       <bean name=”/login” class=”com.bjsxt.usermgr.actions.LoginAction” scope=”prototype”>

          <property name=”userManager” ref=”userManager”/>

       </bean>

    l       必須使用name屬性,name屬性值必須和struts-config.xml文件中<action>標簽的path屬性值一致

    l       必須注入業務邏輯對象

    l       建議scope設置為prototype,這樣就避免了struts Action的線程安全問題

    struts中應該修改為:

     <action path=”/login”

             Type=”org.springframework.web.struts.DelegatingActionProxy”

             Name=”loginForm”

             Scope=”request”

    </action>

    ApplicationContext中需要做如下修改:

       不能有id屬性 而是改成name屬性(路徑應該和struts中的配置的actionpath相同)

    <bean name=”/login” class=”com.bjsxt.usermgr.action.LoginAction” scope=”prototype”>

     <property name=”userManager” ref=”userManagr”/> //變色部分代表從單實例變成多實例

    </bean>



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 四虎国产精品永免费| 亚洲A∨无码一区二区三区| 在线综合亚洲欧洲综合网站| 无码中文字幕av免费放dvd| 亚洲色精品vr一区二区三区| 国产一级黄片儿免费看| 国产国拍精品亚洲AV片| 国产又黄又爽胸又大免费视频 | 亚洲视频国产精品| 日本在线免费观看| 一区二区三区亚洲| 免费观看激色视频网站bd| 亚洲人6666成人观看| 99精品全国免费观看视频| 色窝窝亚洲AV网在线观看| 亚洲国产一区二区视频网站| 91成人免费福利网站在线| 亚洲成人在线网站| 99久久久国产精品免费无卡顿| 久久国产亚洲精品| 免费人成在线观看网站视频 | 成人一区二区免费视频| 亚洲Av熟妇高潮30p| 4455永久在线观免费看| 亚洲色少妇熟女11p| 四虎永久免费观看| 天堂在线免费观看| 亚洲成aⅴ人在线观看| 毛片a级毛片免费观看品善网| 免费国产草莓视频在线观看黄| 亚洲精品你懂的在线观看| 亚洲精品免费在线| 亚洲成a人无码亚洲成www牛牛| 亚洲综合色成在线播放| 在线观看免费中文视频| 亚洲av乱码一区二区三区按摩| 久久精品国产精品亚洲艾草网美妙| 日本人成在线视频免费播放| 亚洲AV综合永久无码精品天堂| 国产精品V亚洲精品V日韩精品 | 精品国产免费人成网站|