spring
文章平均质量分 56
spring源码图文详解,对于我们理解spring,springboot等其它框架原理有很大帮助
star++
致力于研究Apache开源项目
展开
-
spring源码分析aop链执行详细过程
spring aop执行链详细解说原创 2022-10-13 15:56:39 · 722 阅读 · 1 评论 -
spring源码分析事件原理图文详解
概述 说到事件,大家多少都是首先想到消息中间件,比如kafka,rabbitmq等。spring中也支持事件,分为事件发送和时间监听。spring事件机制原理本质其实就是调用事件发送方法,然后直接回调容器中listener对象。说到这里,大家应该明白,spring事件机制是依赖于当前容器的,说明白点就是一个单机版事件机制。那么使用场景也就是spring容器生命周期的事件应用。 参考资料 1spring源码分析容器整个生命周期图文详解 2spring源码分析AOP原理图文详解 代码示例 //定义事件发布器 @原创 2022-02-18 13:18:06 · 1278 阅读 · 5 评论 -
spring源码分析AOP原理图文详解
概述 spring aop是spring特性之一,大部分情况下,我们使用aop特性都是想对功能方法的增强。想要透彻了解aop原理,最好需要提前了解两块内容,一个是java两种动态代理的实现,一个是spring容器初始化bean原理。 参考资料 1 spring源码分析容器整个生命周期图文详解 2java两种实现动态代理方式 sping使用aop代码示例 //1.开启aop @EnableAspectJAutoProxy @Configuration public class MyConfig { } //原创 2022-02-17 20:23:56 · 1066 阅读 · 0 评论 -
spring源码分析容器整个生命周期图文详解
注册Bean 1.注册bean包括bean信息解析,容器创建,注册bean到容器中三部分 2.bean信息解析,会将xml,注解,配置类等信息转换为BeanDefinition,加入到Bean工厂 3.这部分我们重点关注的是BeanFactoryPostProcessor,这是spring容器留给我们扩展用的, 在容器初始化之前可以添加我们自定义的一些东西,最常见的就是添加bean的注册信息. 4.这部分会提前初始化BeanFactoryPostProcessor和BeanPostProce原创 2022-02-14 23:54:47 · 804 阅读 · 2 评论 -
(四)Spring源码分析事务原理
概述 Spring的事务原理很简单,其实就是基于AOP的特性去实现的。不明白的可以先了解AOP的实现原理。所以想要使用事务,那么必须先配置AOP,那么怎么才能使用事务呢,其实很简单,就是注入一个支持事务的Advice即可,这个Advice就是TransactionInterceptor 实例<!-- 管理事务的类--> <bean id="txManager" class="o...原创 2020-03-28 17:59:09 · 310 阅读 · 0 评论 -
(三)Spring源码分析AOP三种配置方式及原理
概述 Spring支持三种aop的配置方式,分别是手动配置,自动命名空间配置,自动注解配置 生成代理对象的原理 三种aop生成原理其实都是一样的,在spring中使用实现的代码也是一套的。原理都是通过添加一个AbstractAutoProxyCreator的BeanPostProcessor, 然后我们知道BeanPostProcessor会被提前实例化,而且在一个普通对象被创建后,会回调Bea...原创 2020-03-12 20:36:18 · 399 阅读 · 0 评论 -
(二)Spring源码分析IOC流程图下
概述 这篇对spring源码的分析是接着上一篇的,所以大家最好将上一篇看完,上一篇主要涉及的是spring容器在创建所有bean的一些事前准备,本篇主要是分析我们定义在bean标签中的bean是怎样进行创建的,创建中的过程,以及创建中要解决的循环依赖问题,其实如果知道怎么解决循环依赖,基本上你就通了。 建议 其实我希望在阅读之前,先会使用上面的标签中的功能,这样你就可以在源码中看到是怎么运用的...原创 2020-03-09 15:41:12 · 582 阅读 · 2 评论 -
(一)Spring源码分析IOC流程图上
概述 这是spring源码中IOC启动的前几个步骤: 1.使用applicationContext创建容器实例DefaultListableBeanFactory 2.将我们通过注解或者xml配置的bean转换为BeanDefinition存储到容器中 3.创建BeanFactoryPostProcessor对象,注册到容器中,执行容器后置处理回调 4.创建BeanPostProcessor对象...原创 2020-03-04 21:31:06 · 2552 阅读 · 0 评论