Spring AOP
文章平均质量分 59
个人对于Spring AOP的学习手记
至学者
有道无术,术尚可求,有术无道,止于术!
展开
-
回顾事务的传播行为与Spring事务传播的问题
一 概述propagation,传播行为是指被调用的方法与当前方法事务的关系。二 示例解析代码示例 //同一个对象内事务方法互调默认失效,原因 绕过了代理对象 //事务使用代理对象来控制的 @Transactional(timeout = 30) //a事务的所有设置就传播到了和他公用一个事务的方法 public void a() { //b,c做任何设置都没用。都是和a公用一个事务// this.b(); 没用...原创 2022-01-03 23:57:11 · 260 阅读 · 0 评论 -
回顾aop如何链式调用
一 概述当多个AOP叠加的时候,具体调用的时候是通过责任链模式。二 责任链模式的实例图在该模式下,Client调用Handler中的抽象方法HandleProcess(),同时存在两个实现该抽象方法的类ConcreteHandlerA和ConcreteHandlerB,同时实现类组合了该Handler类,通过successor判断来实现链式调用。继续研究一下,待完全理解后再来总结!...原创 2021-02-05 22:29:27 · 410 阅读 · 0 评论 -
回顾SpringAOP的实现原理
一 概述面向切面编程的织入时机1. 编译期织入(AspectJ)2. 类加载加载织入(AspectJ 5+)3. 运行时(Spring AOP)二 运行时织入的实现运行时织入是通过代理对象,代理可以分为了两种:1. 静态代理如图,客户端是通过代理对象间接的同目标对象进行交互,换言之,目标对象委托了代理对象同客户端进行交互。根据类图可知,客户端通过接口来对目标对象或代理对象进行引用,这里就涉及了一个很重要的原则,面向接口编程,这时候就涉及到两个重要的结论:.原创 2021-02-05 00:23:28 · 196 阅读 · 0 评论 -
回顾SpringAOP中的Advice
一 概述@Before:前置通知@After :后置通知,方法执行完之后@AfterReturning:返回通知,完成执行之后@AfterThrowing:异常通知,抛出异常之后@Around:环绕通知二 Advice应用实例通过环绕通知获取方法执行时间@Component@Aspectpublic class RepositoryAspect { @Pointcut("execution(* com.repository..*(..))") p...原创 2021-02-03 17:08:34 · 151 阅读 · 0 评论 -
回顾SpringAOP的使用方式
一 概述SpringAOP的实现主要有两种代理方式:1.基于JDK的动态代理:是面向接口,实现具体的接口,形成代理对象,同时运用到反射机制。2.基于CGLIB的动态代理:以继承的方式动态生成目标类的代理,基于ASM字节码库实现。二 SpringAOP的具体实现方式1. 通过XML配置方式实现2. 通过注解的方式实现(目前主要的方式)三 SpringAOP的主要注解1. @Aspect:用来标注某个类为切面配置类@Aspect@Componentpublic clas原创 2021-02-03 16:42:32 · 101 阅读 · 0 评论 -
回顾编程范式
一 面向过程编程面向过程编程就是分析出问题所需的步骤,然后用函数将这些问题一步步的去实现,使用的时候一个一个的依次调用就可以了。常用的面向过程编程的语言有:C语言,Pascal,Basic语言。二 面向对象编程在面向编程中,对象是处于主要位置的,因为建立对象的目的是为了描述某个事物在整个解决问题的步骤中的行为。常见的面向对象编程的语言有:C++,Java。三 函数式编程函数式编程也可以归结到面向过程的程序设计,其思想更接近数学计算。从计算机本身去分析时,CPU只是执行加减乘除的指原创 2021-02-02 20:12:15 · 143 阅读 · 0 评论