快速业务通道

Apache Geronimo和Spring 框架,第4部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
序和方面相遇的任何逻辑点。此类联结点的示例包括方法调用和异常。在 Spring AOP 中,一 个联结点总是一次方法调用。

建议 (Advice):在 AOP 术语中,建议被定义为一项应当在特殊联 结点上采取的操作。这些操作可以是方法调用、过程或抛出异常。在 AOP 中有各种建议,其中 before、 after 和 around 是三个主要类型。

切入点 (Pointcut):指定建议何时应当触发的联结点集合。 Spring AOP 允许将切入点定义为正则表达式。

目标对象 (Target object):被建议的对象并且包 含联结点。

AOP 代理 (AOP proxy):由 AOP 框架创建的对象,用于实现 AOP 关注点,包括建议 。在 Spring AOP 中,这可以是 JDK 动态代理或 cglib 代理。

织入 (Weaving):定义为聚合所 有方面以创建被建议的对象。Spring AOP 在运行时执行织入。

不同的建议类型包括:

Around 建议:这是围绕联结点的一种建议。在 AOP 中,联结点通常是方法调用。它可以控制程 序的执行,并且可以定义逻辑判断执行是应当继续执行,还是应当采取另一条路径。这种控制功能使得此 建议被广泛应用到了 AOP 应用程序中。

Before 建议:这是在联结点之前执行的建议。但是,它 没有像 Around 建议一样拥有的对程序流程的控制。

After 建议:类似于 Before 建议,只不过 在这种情况下是在联结点正常执行完后才执行该建议。这种建议也不能像 Around 建议一样可以控制流程 。

Throws 建议:Spring AOP 允许在方法(联结点)抛出异常时定义此类特殊建议。

Spring AOP

上一部分介绍了几种基本的 AOP 术语。现在,让我们来看看 Spring AOP 中 的等效术语。Spring 框架目前支持 AOP 的概念集,范围从切入点到建议。

使用 Spring 作为建 议程序或拦截程序来实现方面。

在 Spring AOP 中,联结点始终是方法调用。

Spring AOP 为作为拦截程序对象的所有 AOP 建议提供了实现。

Spring AOP 支持使用正则表达式声明性地定 义切入点。

在 Spring 中,AOP 代理将是 JDK 动态代理或 cglib 代理。

Apache Geronimo和Spring 框架,第4部分(4)

时间:2011-10-13 IBM Arun Chhatpar

图 1 显示了 Spring AOP 如何支持此处定义的概念。

图 1. Spring AOP 中的 AOP 概念

Apache Geronimo和Spring 框架,第4部分 - 编程入门网

使用示例电话本应用 程序,您将看到如何使用 Spring AOP 来定义建议、切入点和建议程序等 AOP 概念。示例还将使用依赖 性插入,向您展示如何将这些方面动态插入对象中。

然后介绍由 Spring 提供的事务管理。事务 管理将在内部使用 Spring AOP 以实现其目标。最后将扩展电话本应用程序声明性地使用此事务。

Spring Web Flow

根据 Spring 框架的官方文档,“SWF 是专注于在 Web 应用程序 内定义用户界面流程的产品”。换言之,SWF 将以一种高度可配置且可重用的方式定义此流程。系 统允许捕捉独立工作流程并在各种环境下加以重用。

用 SWF 定义工作流程

下面是使用当 前技术定义工作流程会遇到的一些问题:

当前技术处理小型且较简单的导航工作流程很轻松,但 随着 Web 应用程序变得越来越大越来越复杂,流程管理开始四分五裂。

不能在各种环境中轻松地 重用工作流程,因为流程都是写死的。

Spring SWF 通过允许在配置文件中声明性地定义工作流程 来尝试解决这些问题。这样您就可以在各种场景中使用这些工作流程。当 Web 应用程序具有一个像向导 一样的流程时,这最有帮助。

在本教程的稍后部分,将使用 SWF 声明性地定义电话本应用程序的 流程。还要把在 AOP 部分中定义的方面与 SWF 整合到一起来演示 SWF 的完整功能。

用 Spring AOP 扩展电话本应用程序

在此部分中,将讨论到如何将 Spring AOP 与一个方法标记的方面结合 使用。应用程序将使用建议,并会给出定义为方法标记程序或跟踪程序的切入点。还会介绍建议

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号