AOP(Aspect Oriented Programming)
简介
AOP即面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
在Spring中的作用
提供声明式事务,允许用户自定义切面。
一些名词:横切关注点,切面,通知,目标,代理,连接点,切入点。
Spring支持的五种Advice(通知)类型:
通知类型 | 中文 | 连接点 |
---|---|---|
Before | 前置通知 | 方法调用前 |
After | 后置通知 | 方法调用后 |
Around | 环绕通知 | 方法前和后 |
After-returning | 返回通知 | 方法执行成功后 |
After-throwing | 异常通知 | 方法抛出异常后 |
在Spring中实现AOP的方式
- 使用Spring的API接口
- 自定义类实现,主要是切面定义
<aop:config>
- 使用注解实现
<aop:aspectj-autoproxy>
@Aspect