正在加载图片...
第五章面向方面的编程(AOP)及在 Spring中的应用 AOP全名 Aspect- Oriented Programming,中文直译为面向切面(方面)编程,当前已经成 为一种比较成熟的编程思想,可以用来很好的解决应用系统中分布于各个模块的交叉关注点 问题。在轻量级的J2EE中应用开发中,使用AOP来灵活处理一些具有横切性质的系统级 服务,如事务处理、安全检査、缓存、对象池管理等,已经成为一种非常适用的解决方案。 本章首先简单讲解AOP的相关概念以及在Java领域中最为出色的AOP实现 的应用,然后重点讲解 Spring2中AOP的实现及应用,最后通过一个有趣、完整的模拟 Warcraft游戏示例来演示 Spring2中的AOP的各种用法。 本章的主要是针对刚刚开始接触AOP编程方法、 Aspect、 Spring AOP的读者,另外 也针对熟悉 Spring2.0以前的AOP但不熟悉 Spring2中AOP使用的读者。本章主要从应用 的角度分析轻量级应用中的AOP编程以及 Spring2中AOP的使用方法,若您对AOP的实 现原理、 Spring AOP的底层构架原理及AOP高级应用技巧感兴趣,请阅读本书第三部分的 《AOP原理及实现》一章中的相关内容 51AOP简介 AOP全名 Aspect- Oriented Programming,中文直译为面向切面(方面)编程,是近两三年 来流行起来的一种编程思想,其弥补了面向对象编程(OOP)中存在的一些不足,让我们可以 编写出更加简洁、易维护、复用性更强的程序。本节主要通过一个实例引入AOP中的相关 概念,并简单介绍了AOP中的各种相关术语,然后分析了AOP与OOP的关系,介绍了AOP 联盟及其发布的API,并对当前一些AOP框架及工具作了简单介绍,最后简单分析了AOP 在企业级应用中的作用 511AOP概念 AOP全名 Aspect- Oriented Programming,中文直译为面向切面(方面)编程,是近两三年 来流行起来的一种编程思想,用来解决OOP编程中无法很好解决问题。作为一种编程思想, 其最初是由 Gregor kiczales在施乐的 Palo alto研究中心领导的一个研究小组于1997年提出。 ■问题引入 在传统OOP编程,我们通过分析、抽象出一系列具有一定属性与行为的对象,并通过 这些对象之间的协作来形成一个完整的软件功能。由于对象可以继承,因此我们可以把具有 相同功能或相冋特性的属性抽象到一个层次分明的类结构体系中。随着软件规范的不断扩 大,专业化分工越来越系列,以及OOP应用实践的不断增多,随之也暴露出了一些OOP 无法很好解决的问题。 假设我们有一个业务组件 Component,里面有3个业务方法,如下所示: public class Component i //业务方法1 public void business( //do SomeThing第五章 面向方面的编程(AOP)及在 Spring 中的应用 AOP 全名 Aspect-Oriented Programming,中文直译为面向切面(方面)编程,当前已经成 为一种比较成熟的编程思想,可以用来很好的解决应用系统中分布于各个模块的交叉关注点 问题。在轻量级的 J2EE 中应用开发中,使用 AOP 来灵活处理一些具有横切性质的系统级 服务,如事务处理、安全检查、缓存、对象池管理等,已经成为一种非常适用的解决方案。 本章首先简单讲解 AOP 的相关概念以及在 Java 领域中最为出色的 AOP 实现 AspectJ 的应用,然后重点讲解 Spring2 中 AOP 的实现及应用,最后通过一个有趣、完整的模拟 Warcraft 游戏示例来演示 Spring2 中的 AOP 的各种用法。 本章的主要是针对刚刚开始接触 AOP 编程方法、AsepectJ、Spring AOP 的读者,另外 也针对熟悉 Spring2.0 以前的 AOP 但不熟悉 Spring2 中 AOP 使用的读者。本章主要从应用 的角度分析轻量级应用中的 AOP 编程以及 Spring2 中 AOP 的使用方法,若您对 AOP 的实 现原理、Spring AOP 的底层构架原理及 AOP 高级应用技巧感兴趣,请阅读本书第三部分的 《AOP 原理及实现》一章中的相关内容。 5.1 AOP 简介 AOP 全名 Aspect-Oriented Programming,中文直译为面向切面 (方面)编程,是近两三年 来流行起来的一种编程思想,其弥补了面向对象编程(OOP)中存在的一些不足,让我们可以 编写出更加简洁、易维护、复用性更强的程序。本节主要通过一个实例引入 AOP 中的相关 概念,并简单介绍了 AOP 中的各种相关术语,然后分析了 AOP 与 OOP 的关系,介绍了 AOP 联盟及其发布的 API,并对当前一些 AOP 框架及工具作了简单介绍,最后简单分析了 AOP 在企业级应用中的作用。 5.1.1 AOP 概念 AOP 全名 Aspect-Oriented Programming,中文直译为面向切面 (方面)编程,是近两三年 来流行起来的一种编程思想,用来解决 OOP 编程中无法很好解决问题。作为一种编程思想, 其最初是由Gregor Kiczales在施乐的Palo Alto研究中心领导的一个研究小组于1997年提出。 „ 问题引入 在传统 OOP 编程,我们通过分析、抽象出一系列具有一定属性与行为的对象,并通过 这些对象之间的协作来形成一个完整的软件功能。由于对象可以继承,因此我们可以把具有 相同功能或相同特性的属性抽象到一个层次分明的类结构体系中。随着软件规范的不断扩 大,专业化分工越来越系列,以及 OOP 应用实践的不断增多,随之也暴露出了一些 OOP 无法很好解决的问题。 假设我们有一个业务组件 Component,里面有3个业务方法,如下所示: public class Component { //业务方法1 public void business1() { //doSomeThing1 1
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有