• 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实例。

  • 相关阅读:
    解析ASP.NET Mvc开发之EF延迟加载 分类: ASP.NET 2014-01-04 01:29 4017人阅读 评论(1) 收藏
    解析ASP.NET Mvc开发之查询数据实例 分类: ASP.NET 2014-01-02 01:27 5788人阅读 评论(3) 收藏
    解析ASP.NET Mvc开发之查询数据实例
    从明源动力到创新工场这一路走来
    从明源动力到创新工场这一路走来 分类: 程序人生 2013-12-29 07:37 2532人阅读 评论(2) 收藏
    解析ASP.NET WebForm和Mvc开发的区别 分类: ASP.NET 2013-12-29 01:59 11738人阅读 评论(5) 收藏
    解析ASP.NET WebForm和Mvc开发的区别
    MySQL--索引
    MySQL--存储过程
    MySQL--自定义函数
  • 原文地址:https://www.cnblogs.com/TankRuning/p/3971952.html
Copyright © 2020-2023  润新知