未分类
2020-12-05 16:25:09
1822677238@qq.com
手机扫码查看
2020java框架教程:spring的aop相关概念
1.AOP思想:横向重复,纵向抽取
2.底层实现:
Spring的AOP的底层用到两种代理机制:
JDK的动态代理:针对实现了接口的类产生代理。
Cglib 的动态代理:针对没有实现接口的类产生代理,应用的是底层的字节码增强的技术生成当前类的子类对象。
3.AOP的开发中相关术语:
Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点(可以被切入的点)
Pointcut(切入点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义(已经被切入的点)
Advice(通知/增强):所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知,通知分为前置通知、后置通知、异常通知、最终通知、环绕通知(切面要完成的功能)
Introduction(引介):引介是一种特殊的通知在不修改类代码的前提下,Introduction可以在运行期为类动态地添加一些方法或field
Aspect(切面):是切入点和通知(引介)的结合
Target(目标对象):代理的目标对象
Proxy(代理):一个类被AOP织入增强后,就产生一个结果代理类。
Weaving(织入):是指把增强应用到目标对象来创建新的代理对象的过程。spring采用动态代理织入,而AspectJ 采用编译期织入和类装载期织入。



发表回复