zoukankan      html  css  js  c++  java
  • struts spring 整合方式

      在 web.xml 中完成加载 WebApplicationContext 之后,接下来就可以做到 Spring 和 Struts2 的整合了。整合有两种方法,分别叙述如下:

    1.         第一种实现方法:

    1)        将 Struts 的业务逻辑控制器类配置在 Spring 的配置文件中,业务逻辑控制器中引用的业务类一并注入。注意,必须将业务逻辑控制器类配置为 scope=”prototype” !
    示例如下:

    <bean id=”LoginAction” class=”yaso.struts.action.LoginAction”>

                         <property name=”loginDao” ref=”LoginDao”/>

    </bean>

    2)        在 struts.xml 或者等效的 Struts2 配置文件中配置 Action 时,指定 <action> 的 class 属性为 Spring 配置文件中相应 bean 的 id 或者 name 值。示例如下:

    <action name=”LoginAction” class=”LoginAction”>

                         <result name=”success”>/index.jsp</result>

    </action>

    2.         第二种实现方法:

    1)        业务类在 Spring 配置文件中配置,业务逻辑控制器类不需要配置, Struts2 的 Action 像没有整合 Spring 之前一样配置, <action> 的 class 属性指定业务逻辑控制器类的全限定名。

    2)        业务逻辑控制器类中引用的业务类不需要自己去初始化, Struts2 的 Spring 插件会使用 bean 的自动装配将业务类注入进来,其实业务逻辑控制器也不是 Struts2 创建的,而是 Struts2 的 Spring 插件创建的。默认情况下,插件使用 by name 的方式装配,可以通过增加 Struts2 常量来修改匹配方式:设置方式为: struts.objectFactory.spring.autoWire = typeName ,可选的装配参数如下:

    a)         name :等价于 Spring 配置中的 autowire=”byName” ,这是缺省值。

    b)        type :等价于 Spring 配置中的 autowire=”byType” 。

    c)         auto :等价于 Spring 配置中的 autowire=”autodetect” 。

    d)        constructor :等价于 Spring 配置中的 autowire=” constructor” 。

    四、 如果原先在 Struts2 中使用了多个 object factory ,则需要通过 Struts2 常量显式指定 object factory ,方式如下: struts.objectFactory = spring ;如果没有使用多个 object factory ,这一步可以省略。

    五、 可以通过设增加 Struts2 常量来指定是否使用 Spring 自身的类缓存机制。可以设定的值为 true 或 false ,默认为 true 。设置方式为: struts.objectFactory.spring.useClassCache = false 。

    六、 至此,完成了两种方式的整合。比较这两种整合方式,其本质是一样的。不同之处在于,使用第二种自动装配的方式时,由于没有在 Spring 中配置业务逻辑控制器,所以需要对其配置一些 AOP 之类的内容时就很难实现了。

  • 相关阅读:
    HDU 2844 Coins(多重背包)
    HDU 4540 威威猫系列故事——打地鼠(DP)
    Codeforces Round #236 (Div. 2)
    FZU 2140 Forever 0.5
    HDU 1171 Big Event in HDU(DP)
    HDU 1160 FatMouse's Speed(DP)
    ZOJ 3490 String Successor
    ZOJ 3609 Modular Inverse
    ZOJ 3603 Draw Something Cheat
    ZOJ 3705 Applications
  • 原文地址:https://www.cnblogs.com/huangt/p/3667162.html
Copyright © 2011-2022 走看看