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

时间: 2024-12-11 00:35:31

Spring框架整合Struts2的相关文章

Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程

原创整理不易,转载请注明出处:Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程 代码下载地址:http://www.zuidaima.com/share/1778685765291008.htm 在<Struts2教程4:使用validate方法验证数据>中曾讲到使用validate方法来验证客户端提交的数据,但如果使用validate方法就会将验证代码和正常的逻辑代码混在一起,但这样做并不利于代码维护,而且也很难将过些代码用于其他程序的验证.在St

spring框架整合使用定时任务框架java quartz的示例代码配置

原创整理不易,转载请注明出处:spring框架整合使用定时任务框架java quartz的示例代码配置 代码下载地址:http://www.zuidaima.com/share/1775583461723136.htm 有时候我们的任务(Job)需要再某些任务完成之后才能进行:例如从旧的数据库批量导数据的时候:需要现将被其他数据依赖的数据导入新的数据库:然后再进行关系的导入..在这种情况下我们就可以使用Quartz的listener来做文章了. 首先我们写一个主任务的类,命名为MainJob:她

spring框架整合ibatis的项目实例代码

原创整理不易,转载请注明出处:spring框架整合ibatis的项目实例代码 代码下载地址:http://www.zuidaima.com/share/1780211932679168.htm 这两天一直在研究ibatis与spring的整合 一个小小的demo搞的我头晕目眩的,但程序一旦跑起来了,突然有一种豁然开朗,重见天日,感觉生活很美好的感觉!,也许,这就是那一行行的代码带给我们的不同享受吧.呵呵,废话就不多说了. 在此先引用几句别人的资料... Spring通过DAO模式,提供了对iBA

spring,hibernate,spring框架整合

SSH框架作为javaEE最经典的框架, 初学者整合这几个框架可能也是一件比较头痛的事情(包括我自己), 下面来进行框架的整合!   一:   准备   SSH框架介绍 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet, 处于MVC的控制层,Struts 2是Struts的下一代产品,个人认为: struts2~~struts+xwork; Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表

spring 框架整合 笔记4

struts hibernate spring 先贴出框架整合需要的maven <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mave

Spring笔记⑥--整合struts2

Spring如何在web应用里面用 需要额外加入的jar包 Spring-web-4.0.0 Spring-webmvc-4.0.0 Spring的配置文件,没什么不同 ? 需要在web.xml下配置,使用myeclipse2014可自动生成 ? <!-- 启动ioc容器的servletcontextLin --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListen

spring之整合struts2

首先将以下jar包加入到lib文件夹中: 基础目录: Person.java package com.gong.spring.struts2.beans; public class Person { private String username; public void setUsername(String username) { this.username = username; } public void hello(){ System.out.println("My name is &q

EasyUI、Struts2、Hibernate、spring 框架整合

经历了四个月的学习,中间过程曲折离奇,好在坚持下来了,也到了最后框架的整合中间过程也只有自己能体会了. 接下来开始说一下整合中的问题和技巧: 1,  jar包导入 c3p0(2个).jdbc(1个).spring(15个).Hibernate(10个).Struts2(13个).json(3个) 及EasyUI的jquery包 2, 在src目录下新建一个实体类的包,并新建一个实体类 package com.han.entity; import java.util.Date; public cl

Java框架:spring框架整合hibernate框架的xml配置(使用注解的方式)

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/sch