Struts Recipes 的合著者 George Franciscus 将介绍另一个重大的 Struts 整合窍门 —— 这次是将 Struts 应用程序导入 Spring 框架。请跟随 George,他将向您展示如何改变 Struts 动作,使得管理 Struts 动作就像管理 Spring beans 那样。结果是一个增强的 web 框架,这个框架可以方便地利用 Spring AOP 的优势。
您肯定已经听说过控制反转 (IOC) 设计模式,因为很长一段时间以来一直在流传关于它的信息。如果您在任何功能中使用过 Spring 框架,那么您就知道其原理的作用。在本文中,我利用这一原理把一个 Struts 应用程序注入 Spring 框架,您将亲身体会到 IOC 模式的强大。

将一个 Struts 应用程序整合进 Spring 框架具有多方面的优点。首先,Spring 是为解决一些关于 JEE 的真实世界问题而设计的,比如复杂性、低性能和可测试性,等等。第二,Spring 框架包含一个 AOP 实现,允许您将面向方面技术应用于面向对象的代码。第三,一些人可能会说 Spring 框架只有处理 Struts 比 Struts 处理自己好。但是这是观点问题,我演示三种将 Struts 应用程序整合到 Spring 框架的方法后,具体由您自己决定使用哪一种。

我所演示的方法都是执行起来相对简单的,但是它们却具有明显不同的优点。我为每一种方法创建了一个独立而可用的例子,这样您就可以完全理解每种方法。请参阅 下载 部分获得完整例子源代码。请参阅 参考资料,下载 Struts MVC 和 Spring 框架。

为什么 Spring 这么了不起?

Spring 的创立者 Rod Johnson 以一种批判的眼光看待 Java? 企业软件开发,并且提议很多企业难题都能够通过战略地使用 IOC 模式(也称作依赖注入)来解决。当 Rod 和一个具有奉献精神的开放源码开发者团队将这个理论应用于实践时,结果就产生了 Spring 框架。简言之,Spring 是一个轻型的容器,利用它可以使用一个外部 XML 配置文件方便地将对象连接在一起。每个对象都可以通过显示一个 JavaBean 属性收到一个到依赖对象的引用,留给您的简单任务就只是在一个 XML 配置文件中把它们连接好。

IOC 和 Spring

IOC 是一种使应用程序逻辑外在化的设计模式,所以它是被注入而不是被写入客户机代码中。将 IOC 与接口编程应用结合,就像 Spring 框架那样,产生了一种架构,这种架构能够减少客户机对特定实现逻辑的依赖。请参阅 参考资料 了解更多关于 IOC 和 Spring 的信息。

依赖注入是一个强大的特性,但是 Spring 框架能够提供更多特性。Spring 支持可插拔的事务管理器,可以给您的事务处理提供更广泛的选择范围。它集成了领先的持久性框架,并且提供一个一致的异常层次结构。Spring 还提供了一种使用面向方面代码代替正常的面向对象代码的简单机制。

Spring AOP 允许您使用拦截器 在一个或多个执行点上拦截应用程序逻辑。加强应用程序在拦截器中的日志记录逻辑会产生一个更可读的、实用的代码基础,所以拦截器广泛用于日志记录。您很快就会看到,为了处理横切关注点,Spring AOP 发布了它自己的拦截器,您也可以编写您自己的拦截器。

详情 http://www.haowanw.com/bbs/viewthread.php?tid=188&extra=page%3D2

转载于:https://blog.51cto.com/haowanw/403187

Spring 更好地处理 Struts 动作相关推荐

  1. 用Spring更好地处理Struts动作三种整合

    http://java.chinaitlab.com/Spring/525537_2.html 为什么 Spring 这么了不起? Spring 的创立者 Rod Johnson 以一种批判的眼光看待 ...

  2. 比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket

    2009-06-23 Java Web层框架--JSF.Spring MVC.Stripes.Struts 2.Tapestry和Wicket他们各自的优点和缺点: JSF 优点: ◆Java EE标 ...

  3. 【Java】Spring更简单的读取和存储

    文章目录 Spring更简单的读取和存储对象 1. 存储Bean对象 1.1 前置工作:配置扫描路径 1.2 添加注解存储Bean对象 1.2.1 @Controller(控制器存储) 1.2.2 @ ...

  4. java导入tiles,java – 如何从jsp:include或tiles调用struts动作?

    我有jsp,其中我想要包含另一个jsp,这是struts动作的转发结果. 如何使用jsp:include / tiles insert或任何其他方法包含/插入? 任何帮助,将不胜感激. 解决方法: 如 ...

  5. Google 开源的依赖注入库,比 Spring 更小更快!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:GinoBeFunny zhuanlan.zhihu.com ...

  6. Spring更简单的存储对象------不使用XML而使用注解

    1.更简单进行存储: 1.先进行创建Spring的项目 先进行创建maven项目,在pom.xml里面引入对Spring所依赖的jar包(核心包:5.2.3) <!-- https://mvnr ...

  7. Spring更简单的读取和存储对象

    文章目录 前言 1.存储 Bean 对象 1.1 前置工作 1.2 添加注解存储 Bean 对象 @Controller(控制器存储) @Service (服务存储) @Repository(仓库存储 ...

  8. Spring:更简单的存储与读取Bean对象

    前言: 上节课我们简单了解一些Spring非常基础的使用,但是在存储与读取Bean对象这个操作上来看还是有点麻烦滴~~ 我们有更方便的方法去实现存储与读取Bean对象. 1.存储Bean对象 我们要想 ...

  9. javaEE进阶 - Spring 更简单的读取和存储对象 - 细节狂魔

    文章目录 前言 1.存储 Bean 对象 1.1.前置工作:配置扫描路径(重要) 1.2.简单的将 bean 存储到容器 1.使用 5 大类注解实现将 bean 存储到 容器 @Controller ...

最新文章

  1. discuz 生成静态html,Discuz论坛静态化设置方法
  2. Emscripten-mac安装与升级
  3. PHP 实现二分查找
  4. Linux添加网站后无法显示,Linux:SElinux导致网站无法访问
  5. Sql Server 2005 row_number()分页性能测试
  6. leetcode990. 等式方程的可满足性
  7. 五一档票房超8.8亿元!张艺谋新片仅第二
  8. mediarecorder 录制的文件无法拖动进度条_录制课程不用愁,小V手把手教学
  9. 美团笔试题——正则序列
  10. Java 中的volitle 关键字
  11. plc比c语言还难,plc编程好学吗??
  12. java excel换行_Java 导出excel进行换行的案例
  13. 12款网盘搜索神器以备不时之需要
  14. php7 codeigniter 404,使用codeigniter出现404问题
  15. 滚雪球学 Python 第二轮封笔之文,类函数、成员函数、静态函数、抽象函数、方法伪装属性
  16. 提高电脑速度的超多方法。
  17. 如何用golang远程控制浏览器
  18. 关于使用U盘制作简单windows开机加密狗
  19. 捷配浅谈PCB叠层的概念、设计原则
  20. 怎么下载网页上的视频(you-get)

热门文章

  1. 计算机的来源知识,如何理解计算机知识及计算机发展史
  2. webpack4打包html,html-webpack-plugin详解
  3. 判断一个变量类型是数组还是对象
  4. Centos下 ffmpeg 和opencv一起配合处理视频
  5. 第十天2017/04/21(3、泛型编程:STL)
  6. C++之static关键字
  7. 深入了解MyBatis返回值
  8. Visual Studio Code中文文档(一)-快速入门
  9. Linux 上的最佳 C/C++ IDE
  10. 【java开发系列】—— 自定义注解