SpringBoot源码解析(十六)事务的SpringAOP源码详解

SpringAOP是spring的动态代理模块。我们在spring的事务等多个方面都用到了springAOP方面的知识。

我们就以事务的动态代理原理解析来分析下springAOP的源码。

SpringAOP有几个核心概念:

    (1).切面Aspect: Aspect 声明类似于 Java 中的类声明,在 Aspect 中会包含着一些切入点Pointcut 以及对切入点进行相应的操作的通知Advice。
    (2).连接点Joint point:表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等,它自身还可以嵌套其它连接点jointpoint。
    (3).切入点Pointcut:表示一组连接点jointpoint,这些连接点或是通过逻辑关系组合起来,或是通过通配、正则表达式等方式集中起来,它定义了相应的操作处理通知Advice将要发生的地方。
    (4).通知Advice:Advice 定义了在切入点pointcut 里面定义的程序点具体要做的操作和处理,它通过 before、after 和 around 来区别是在每个切入点之前、之后还是代替执行的代码。
    (5).目标对象Target:代理的目标对象,即切面要被应用到的目标对象。

    (6).织入Weave:指将切面应用到目标对象,并导致代理对象创建的过程

在AopConfigUtils初始化的时候InfrastructureAdvisorAutoProxyCreator被注册了,如下:
 

	static {
		APC_PRIORITY_LIST.add(InfrastructureAdvisorAutoProxyCreator.class)

你可能感兴趣的:(springAOP,源码)