zoukankan      html  css  js  c++  java
  • Spring框架整合Struts2

    1,用Spring架构,及Struts2-spring-plugin插件

      导入Spring的dist全部所需的jar包 Struts2的spring插件 struts2-spring-plugin.XX.jar struts2的核心包 struts2-core.XX.jar xwork-           core.XX.jar commons.logging.XX.jar ...根据需要选择导入

     2,配置web.xml中applicationContext.xml的参数路径及侦听器        

    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <!-- 采用Listener完成Spring容器的初始化 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    3,Sturts2的Action配置(struts.xml 和 applicationContext.xml)

     Spring管理控制器 容易导致文件冗余

    第一种 将Action配置到Spring的配置文件中,通过Bean的id来加载 <action name="loginPro" class="loginAction">....
            <bean id="loginAction" class="com.tk.web.action.LoginAction" scope="prototype" p:ms-ref="myService"/>

     自动装配 耦合较高

        Spring插件自动装配,struts.objectFactory.spring.autoWire 在struts.xml文件中指定常量
        <constant name="struts.objectFactory.spring.autoWire" value="方式值"/>
        方式值:
            name:根据属性名装备。Spring插件会查找容器中的全部Bean,找出其中id属性与Action所需的业务逻辑组件
                同名的Bean,将该Bean实例注入到Action实例。
            type:根据属性类型自动装配。Spring插件会查找容器中全部Bean,找出其类型恰好与Action所需的业务
                逻辑组件相同的Bean,将该Bean实例注入到Action实例。如果有多个这样的Bean,就抛出一个致命异
                常,如果没有匹配的Bean,则什么都不会发生,属性也不会被设置。
            auto:Spring插件会自动检测需要使用的哪种自动装配方式
            constructor:与type类似,区别是constructor使用构造器来构造注入所需的参数,而不是使用设值注入方式

    第二种 因为使用自动装配,Spring插件创建Action实例时,是根据配置Action的class属性指定实现类来创建Action实例的
          配置文件与不整合Spring的配置文件没有任何区别,
          <action name="loginPro" class="com.tk.web.action.LoginAction">
          区别在于:
              不整合:Struts2负责创建该Action实例,创建成功后就结束
              整合Spring框架:由Spring插件负责创建该Action实例,创建成功后,还需要将该Action所需的业务逻辑组件,注入给该Action实例。

  • 相关阅读:
    mysql在windows下备份&恢复数据库语句
    Postman(三)、获取响应数据
    LoadRunner(八)、常用的接口压测格式
    LoadRunner(七)、集合点
    LoadRunner(六)、事务
    LoadRunner(五)、参数化之文本参数化
    repmgr安装使用
    PostgreSQL 游标的种类
    win server 2019 资源管理器 内存占用高
    给MySQL中某表增加一个新字段,并设为主键值为自动增长。
  • 原文地址:https://www.cnblogs.com/TankRuning/p/3971952.html
Copyright © 2011-2022 走看看