-
一.AOP(面向切面编程)
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,
通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,
从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
二.相关的基本概念:
- 切面(Aspect):一个模块化的横切逻辑(或称为横切关注点),可能会横切多个对象。
- 连接点(Join Point):程序执行中的某个具体的执行点。如上图中原对象的fun()就是一个连接点。
- 增强处理(Advice):切面在某个特定连接点上执行的代码逻辑。(有 前置增强、后置增强、环绕增强、异异常抛出增强、最终增强 等)
- 切入点(Pointcut):对连接点的特征进行描述,可以使用正则表达式,增强处理和一个切入点表达式相关联。
- 目标对象(Target object):被一个或多个切面增强的对象。
- AOP代理(AOPproxy):由AOP框架所创建的对象,实现执行增强处理方法等功能。
- 织入(Weaving):将增强处理连接到应用程序中的类型或对象上的过程。
三.例子
架包
实体类
Dao层接口和实现类
Service层接口和实现类
切面类
配置文件
测试类
输出
三种注入方式