- 1
- 0
- 约8.21千字
- 约 29页
- 2017-01-05 发布于北京
- 举报
[7第24章Spring使用AOP
第24章 Spring使用AOP Spring AOP简介 面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足。 除了类(classes)以外,AOP提供了 切面。切面对关注点进行模块化,例如横切多个类型和对象的事务管理。 在AOP中,把分散程序各个部分,解决同样问题的代码片段,称为问题的切面(或方面)。 一个切面可以简单的理解为解决跨越多个模块的交叉关注点问题的模块。 通过AOP可以使用一种非常简单、灵活的方式,在切面中实现了以前需要在各个核心关注点中穿插的交叉关注的功能,从而使得解决系统中交叉关注点问题的模块更加容易设计、实现及维护。 AOP相关框架及工具 AspectJ: 对java进行了扩展,形成一个功能强大、灵活、实用的AOP语言。 AspectWerkz:一个动态、轻量级、性能表现良好的AOP框架。 JBoss-AOP:JBoss公司开发的基于方法拦截及源码级数据的AOP实现框架。 Spring-AOP:使用基于代理及拦截器的机制,与Spring IOC容器融入一体的AOP框架。 AOP中的五种Advice AOP中的相关术语 1)关注点(Concern) 关注点也就是我们要考察或解决的问题。 把一个系统中的核心功能称为核心关注点跨越多个模块的关注点称为横切关注点或交叉关注点(Crosscutting Concerns) 。 在AOP的编程方法中,主要在于对关注点的提起及抽象。 2)切面(Aspect) 切面是一个抽象的概念,从软件的角度来说是指在应用程序不同模块中的某一个领域或方面。 AOP中的切面(aspect)是实现世界领域问题的抽象,除了包括属性、方法以外,同时切面中还包括切入点Pointcut、增强(advice)等。 3)连接点(Join point) 连接点也就是运用程序执行过程中需要插入切面模块的某一点。 这个点可以是一个方法、一个属性、构造函数、类静态初始化块,甚至一条语句。 4)切入点(Pointcut) 切入点指一个或多个连接点,可以理解成一个点的集合。切入点的描述比较具体,而且一般会跟连接点上下文环境结合。 5)增强或通知(Advice) 增强(Advice)里面定义了切面中的实际逻辑(即实现), 即法增强(Advice)是指在定义好的切入点处,所要执行的程序代码。 Spring的AOP简介 AOP是Spring 框架的重要组成部分。 Spring AOP使用纯Java实现,不需要专门的编译过程。 Spring没有像AspectJ那样强大的功能,只支持与方法调用有关的连接点。 Spring中的AOP代理由Spring的Ioc容器负责生成、管理,其依赖关系也由Ioc容器负责管理。 AOP编程只需要程序员参加3个部分: 定义普通业务组件 定义切入点 定义增强处理 Spring有两种方式定义切入点和增强处理: 基于Annotation的方式:使用@Aspect、@PointCut等Annotation 基于XML配置文件的管理方式:使用Spring的配置文件 启用@AspectJ支持 为了在Spring配置中使用@AspectJ aspects,必须首先启用Spring对基于@AspectJ aspects的配置支持,自动代理(autoproxying)基于通知是否来自这些切面。 自动代理是指Spring会判断一个bean是否使用了一个或多个切面通知,并据此自动生成相应的代理以拦截其方法调用,并且确认通知是否如期进行。 配置文件示例: ?xml version=1.0 encoding=GBK? beans xmlns=/schema/beans xmlns:xsi=/2001/XMLSchema-instance xmlns:context=/schema/context xmlns:aop=/schema/aop xsi:schemaLocation=/schema/beans /schema/beans/spring-beans-2.5.xsd /schema/context /schema/context/spring-context-2.5.xsd /schema/aop
您可能关注的文档
最近下载
- 2024年山东医学高等专科学校单招考试语文试题含答案解析.docx
- 北京·新荣记 加冕“三星”,新荣记为何独得米其林青睐.docx VIP
- 2025年山东医学高等专科学校单招考试语文试题含答案解析.docx
- 口渴了-朋友帮你.ppt VIP
- 2025年山东医学高等专科学校单招(数学)历年真题考点含答案解析.docx
- 【行业标准】QSH 0039-2007 钻井液用水解聚丙烯腈铵盐技术要求.pdf VIP
- 《QSH0038-2007-钻井液用羧甲基纤维素钠盐技术要求》.pdf VIP
- 《桂海虞衡志》中少数民族风俗研究.doc VIP
- QSH 0048-2007 钻井液用聚丙烯酰胺钾盐技术要求.pdf VIP
- 医疗护理员培训大纲(试行).docx VIP
原创力文档

文档评论(0)