1.AOP概念
AOP:面向切面编程(拓展一个功能不修改源代码实现)
2.AOP的底层原理
1.发展的过程;
2.Aop原理
3.AOP相关操作
1. Joinpoint(连接点):指哪些被拦截到的点;在Spring中这些点指的是方法,因为Spring只支持方法类型的连接点;
2.Pointcut(切入点):指我们要对那些Joinpoint进行拦截的定义;
3.Advice(通知/增强):指的是拦截到Joinpoint之后所做的事情就是通知;
通知分为前置通知、后置通知、异常通知、最终通知、环绕通知(切面要完成的功能);
4.Aspect(切面):是切入点和通知(引介)的结合;
5.Introduction(引介):引介是一种特殊的通知在不修改类的前提下,Introduction可以在类运行期间为类动态的添加
一些方法或属性;
6.Target(目标对象):代理的目标对象(要增强的类)
7.Weaving(织入):把增强应用到Target的过程;
8.Proxy(代理):一个类被AOP织入后,就产生了一个结果代理类;
package com.study.cn.common;
public class User {
public void add(){}
public void update(){}
public void delete(){}
public void selectAll(){}
}
连接点 :类里面那些方法可以被增强,这些方法被称为连接点;
切入点:在类里面可以有许多方法被增强,比如实际的操作中我们只增强了add() 和update(),实际增强的方法就叫切入点;
通知/增强:增强的逻辑称为增强;比如拓展日志功能,这个日志功能被称为增强;
前置通知:在方法之前执行;
后置通知:在方法之后执行;
异常通知: 在方法出现异常时执行;
最终通知: 在后置之后执行;
环绕通知: 在方法之前和之后执行;
切面: 把增强应用到具体的方法上面的过程称为切面(把增强应用到切入点的过程)