Spring AOP配置详解:注入与XML方式

需积分: 9 3 下载量 162 浏览量 更新于2024-09-16 收藏 90KB DOC 举报
"本文档主要介绍了Spring AOP(面向切面编程)的配置方法,包括两种常见的配置方式:注入式配置和XML配置。首先,我们通过创建一个普通类`Common`展示了基础的业务逻辑,该类包含一个`execute`方法,接收两个参数并打印相关信息。接着,定义了一个切面类`Check`,负责合法性校验和日志记录,其中`checkValidity`方法用于验证参数的有效性,`addLog`方法则处理日志操作,并能获取到被拦截的方法名称。 在实际配置AOP时,我们通常会使用Spring的配置文件来定义切面和通知。这里以XML配置为例,开始于Spring 2.0版本的<aop:config>元素,它标志着AOP配置的开始。在配置文件中,需要导入Spring的AOP命名空间`http://www.springframework.org/schema/aop`。然后定义切面,使用<aop:aspect>标签,指定切面类的引用,如: ```xml <aop:aspect ref="checkAspect"> <!-- 定义通知 --> <aop:before method="checkValidity" pointcut="execution(* com.spring.aop.Common.execute(..))" /> <aop:around method="addLog" pointcut="execution(* com.spring.aop.Common.execute(..))" /> </aop:aspect> ``` 在这个例子中,`ref="checkAspect"`表示引用切面类`Check`,`before`和`around`是通知类型,它们会在目标方法执行前后或环绕目标方法执行时被调用。`execution(* com.spring.aop.Common.execute(..))`是切入点表达式,定义了哪些方法将被这个切面拦截,这里匹配的是`Common`包下的所有`execute`方法。 红色标记的内容可能指的是配置文件中的某个特定部分,可能是用于启用AOP或者配置其他相关的属性,具体细节未在提供的片段中给出。完整的配置可能还包括`aop:aspectj-autoproxy`标签,用于启用Spring的自动代理功能,使得目标对象可以被AOP代理。 总结来说,本文档介绍了如何在Spring中使用AOP进行面向切面编程,重点讲解了XML配置方式,涉及切面定义、通知的使用以及切入点表达式的应用。通过这些配置,可以在不修改原有业务代码的情况下,实现诸如权限检查、事务管理等常见跨切面的需求。