其他分享
首页 > 其他分享> > 核心概念

核心概念

作者:互联网

核心概念

aop:Aspect-Oriented Programing 面向切面编程

代理目标 (proxy target)

谁被别人代理,就是代理目标

代理对象 (proxy object)

谁代理别人,谁就是代理对象

执行点(execution point)

每个正在执行的方法就是一个执行点

每个方法都可能成为一个执行点,只要它被调用导致它在执行

方位

before 方法执行前
after-return 方法返回后 / after-throw 方法抛出异常后
after 方法执行后

around 方法执行前 和 方法执行后

try{
    // before
    int result = MathHelper.div( 100 , 2 );
    // after-return
} catch ( Exception e ) {
    // after-throw
} finally {
    // after
}

连接点(Join Point)

连接点=执行点+方位

连接点就是Advice 可能插入的位置

Advice

在连接点处添加的代码就是Advice

切点 (Pointcut)

对连接点进行筛选的条件就是切点

类似于SQL语句的WHERE子句

将来我们可以通过切点表达式来选择连接点

切面 (Aspect)

切面 = 切点+ Advice

切点用于确定在哪里加入Advice

Advice用于确定加入什么样的代码

织入 (weaver)

将需要添加的Advice添加到目标位置的过程就是织入

织入顺序:确定Advice的天机啊顺序

织入方式:

​ 编译期织入:即在将 .java编译成 .class时就织入相应的代码

​ 类加载器织入:即在类加载时使用特殊的"类加载器"织入相应的代码

​ 运行期织入: 即在运行时动态织入相应的代码

标签:连接点,核心,Advice,after,切点,概念,织入,执行
来源: https://www.cnblogs.com/lcyyds/p/16109644.html