SpringAOP学习笔记
zf429_0
越努力,越幸运!
我们一直在奔跑,我们都是追梦人!
展开
-
SpringAOP之自研框架AOP1.0
1. 实现自研框架AOP1.0使用CGLIB来实现:不需要业务类实现接口,相对灵活 解决标记的问题,定义横切逻辑的框架 定义Aspect横切逻辑以及被代理方法的执行顺序 将横切逻辑织入到被代理的对象以生成动态代理对象2. 解决横切逻辑的标记问题以及定义Aspect骨架定义与横切逻辑相关的注解 定义供外部使用的横切逻辑骨架@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface原创 2020-07-28 10:51:11 · 162 阅读 · 0 评论 -
SpringAOP之代理
1. SpringAOP的实现原理代理模式2. JDK动态代理寻求改进 溯源ClassLoader 通过带有包名的类来获取对应class文件的二进制字节流 根据读取的字节流,将代表的静态存储结构转化为运行时数据结构 生成一个代表该类的Class对象,作为方法区该类的数据访问入口 改进的切入点 根据一定规则去改动或者生成新的字节流,将切面逻辑织入其中 行之有效的方案就是取代被代理类的动态代理机制 根据接口或者目标类,计算出代理类的字节码并加载.原创 2020-07-28 10:49:21 · 143 阅读 · 0 评论 -
Spring AOP之简介
1. AOP的子民们切面Aspect:将横切关注点逻辑进行模块化封装的实体对象 通知Advice:好比是Class里面的方法,还定义了织入逻辑的时机 连接点Joinpoint,允许使用Advice的地方 SpringAOP默认只支持方法级别的Joinpoint 切入点Pointcut:定义一系列规则对Joinpoint进行筛选 目标对象Target:符合Pointcut条件,要被织入横切逻辑的对象2. Advice的种类BeforeAdvice:在Joinpoint前被执行的Ad原创 2020-07-28 10:48:01 · 86 阅读 · 0 评论