随笔分类 - 源码 / Spring AOP
Spring AOP
摘要:1 前言 不知道你在调试的时候,有没有发现我们的通知器链上首个元素会给我放进来一个ExposeInvocationInterceptor类型的通知器,看下图是不是,我们在之前其实也说过一次只是一句话带过了,那我们本节看下它的进场时机和具体是做什么的,可以怎么做。 2 源码分析 2.1 进场时机 pu
阅读全文
摘要:1 前言 上一节我们说了通知器链的而顺序问题,那么这节我们该看看它的执行了。我们拿JDK代理的执行过程来看哈。 2 源码分析 2.1 方法通读 对于JDK动态代理的,那我们再回来看下当获取到要执行的通知器链后,要做什么呢,看源码: // 创建方法调用器 并要执行的拦截器传进去 MethodInvoc
阅读全文
摘要:1 前言 上节我们看过了代理对象执行方法的大致过程,我们留着通知器链的具体执行没说,这节我们先讲解一下通知器的执行顺序。 通知器或者叫拦截器,叫法不一样,这里我们还是都统一叫通知器吧。 这是我的AOP类,方便调试。 1 @Component 2 @Aspect 3 public class MyAs
阅读全文
摘要:1 前言 不知道你现在清晰了没,我们一路从AOP的基础概念,到AOP配置的解析,到AOP在Bean的生命周期的切入时机以及创建代理的过程一步步走下来,脑瓜还清晰不,那我们是不是就该到了真正去调用某个对象方法的时候,就是调用了代理对象的某个方法,是不是就是执行代理类的增强逻辑代码啦。我们还是拿JDK为
阅读全文
摘要:1 前言 我们看过Spring对AOP配置的解析以及通知器的筛选,也看过了动态代理的实现,这节那我们就看下Spring创建代理的过程,为下节看代理具体的执行过程做铺垫哈。 那我们从哪看起呢?还记得创建代理的那个切入时机么?也就是这里 那么让我们开始看createProxy。 2 源码分析 2.1 方
阅读全文
摘要:1 前言 我们了解过AOP配置解析以及AOP的切入时机,那么这篇我们看看,AOP是如何给某个Bean筛选合适的通知器。 2 源码分析 2.1 方法通读 我们从AOP切入时机中,为当前bean筛选通知器开始继续看起: protected Object[] getAdvicesAndAdvisorsFo
阅读全文
摘要:1 前言 我们分析了AOP不管是XML配置还是注解方式的解析过程,这篇我们简单来说下AOP在Spring中对bean对象生命周期的一个入场时机,其实我们在讲解IOC的时候,已经点了一下这篇我们再来简单说一下。 2 源码分析 切入时机准确的说有两个地方: createBean里的resolveBefo
阅读全文
摘要:1 前言 上一篇我们讲解了XML方式解析AOP的配置,这篇我们来解析下注解方式的解析过程。 2 代码准备 @Component @Aspect public class MyAspect { @Pointcut("execution( * com.virtuous.demo.spring.cycle
阅读全文
摘要:1 前言 IOC的一些东西我们说过了,这篇我们开始看看AOP,面向切面编程,他也是Spring的一个核心功能,他的作用就是给我们的Bean创建代理对象,进行功能增强,比如我们的事务、日志等,我们主要讲讲他AOP的切入时机,也就是什么时候进场的,以及是怎么解析我们的注解或者在XML里配置的AOP功能,
阅读全文
摘要:1 前言 这篇我们看一下,我们的AOP代码是怎么被Spring加载的进去的,那么分两种一种是XML配置的,一种就是我们常用的注解,我们从源码先看下XML方式的都是怎么被加载解析的。 2 代码准备 <context:component-scan base-package="com.virtuous.d
阅读全文