AOP总结目录--- Spring源码从入门到精通(二十四)

简介: AOP总结目录--- Spring源码从入门到精通(二十四)

上篇文章说到了aop连接器链的调用,前面递归调用四个拦截器,每次都会调用invoke方法,有一个index参数放拦截器索引,当判断为最后一个拦截器的时候,return跳出循环。

连接器链调用---Spring源码从入门到精通(二十三)


这篇文章总结AOP全流程:

1、用@EnableAspectJAutoProxy注解开启aop功能。

2、这个注解会给容器中注入一个组件AnnotationAwareAspectJAutoProxyCreate。

3、此组件是一个后置处理器。

4、容器的创建流程:

1)、registerBeanPostProcessor注册后置处理器,创建AnnotationAwareAspectJAutoProxyCreate对象。

2)、finishBeanFactoryInitialization()方法初始化剩下的单实例bean。A、创建业务逻辑组件和切面组件。B、AnnotationAwareAspectJAutoProxyCreate拦截组件的创建过程。C、组件创建完成之后,判断是否需要增强,是的话,切面的通知方法,包装成增强器(Advisor),给业务逻辑创建一个代理对象cglib。

5、执行目标方法:

1)、代理对象执行目标方法。

2)、CglibAopProxy.intercept()方法拦截。过程A、等到目标方法的拦截器链MethodInterceptor(增强器包装成拦截器)。B、利用拦截器链式机制,依次进入每一个拦截器进行执行。C、效果,前置通知->目标方法->后置通知->返回通知。如果目标方法抛出异常,则是前置通知->目标方法->后置通知->异常通知。

相关文章
|
10天前
|
小程序 JavaScript Java
高校宿舍信息|基于Spring Boot的高校宿舍信息管理系统的设计与实现(源码+数据库+文档)
高校宿舍信息|基于Spring Boot的高校宿舍信息管理系统的设计与实现(源码+数据库+文档)
18 0
|
3天前
|
Java Spring
|
3天前
|
Java Spring
|
3天前
|
前端开发 Java Maven
Spring AOP
Spring AOP
12 1
|
4天前
|
数据采集 XML 监控
Spring AOP
Spring AOP
28 2
|
8天前
|
Java Spring 容器
Spring AOP 代码案例
Spring AOP 代码案例
20 1
|
10天前
|
小程序 JavaScript Java
小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)
小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)
19 0
小程序商城|基于Spring Boot的智能小程序商城的设计与实现(源码+数据库+文档)
|
10天前
|
安全 JavaScript Java
在线问卷调查|基于Spring Boot的在线问卷调查系统的设计与实现(源码+数据库+文档)
在线问卷调查|基于Spring Boot的在线问卷调查系统的设计与实现(源码+数据库+文档)
22 0
|
17天前
|
Java 数据库连接 应用服务中间件
Spring5源码(39)-Aop事物管理简介及编程式事物实现
Spring5源码(39)-Aop事物管理简介及编程式事物实现
27 0
|
17天前
AOP&面向切面编程
AOP&面向切面编程
58 0