![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring源码
菜鸟的奋斗ing
最穷不过讨饭,不死终将翻身
展开
-
spring源码分析之事务transaction下篇
上一篇文章已经详细分析了spring中如何创建事务(spring源码分析之事务transaction上篇),今天这篇文章主要是介绍spring中事务的回滚、事务提交、以及使用事务时的注意事项。这篇文章与上一篇文章有强关联,建议先去看上篇一、事务回滚我们只分析常用的传播属性REQUIRED(默认)、REQUIRES_NEW、NESTED,其他的可以自行阅读,也比较简单。我们还是拿上篇文章的例子来分析事务回滚和事务提交@Transactional(propagation = Propagation.REQ原创 2020-07-31 19:55:15 · 432 阅读 · 0 评论 -
spring源码分析之事务transaction上篇
大家基本上都用过事务,今天一起分析下spring源码中也比较重要的一个模块-事务。spring中事务这一块要完全使用好还是有一定难度,主要是很多细节需要注意,如果你还没有完全明白spring的事务,那么这篇文章肯定会让你收获满满。一、创建代理spring事务创建代理的流程和spring aop创建代理几乎是一模一样,不清楚的可以自行阅读相关资料或者参考这篇文章(spring aop分析)。这里稍微介绍创建代理之前spring会先创建几个重要的对象我们从@EnableTransactionManagem原创 2020-07-31 16:46:25 · 313 阅读 · 0 评论 -
spring源码解析之ConfigurationClassPostProcessor分析
ConfigurationClassPostProcessor是spring框架中非常重要的一个PostProcessor,尤其是现在的项目基本上都是使用springboot和springcloud,那么更加离不开它。我们先来看看它实现了哪些功能1.@Bean2.@Import3.@ComponentScan/@ComponentScans4.@ImportResource5.@PropertySource你没有看错,上述的功能都是基于这个PostProcessor来实现的,如果你还不了解,那么原创 2020-07-29 21:10:59 · 555 阅读 · 0 评论 -
spring源码分析-spring与tomcat整合原理
spring与tomcat整合的整理的流程图如下:流程图解析:1.SPI机制:tomcat启动时会通过SPI的机制加载所有包下面的META-INF/services/javax.servlet.ServletContainerInitializer,读取里面的内容(里面是一个实现了ServletContainerInitializer的类全路径)。此时tomcat就会实例化该全路径的类,然后调用onStartup()这就是spring和tomcat整合的入口,这种spi机制使用的非常广泛,比如spri原创 2020-07-27 11:41:12 · 840 阅读 · 0 评论 -
spring源码分析:bean的初始化
我们通过spring容器帮我们实例化并且维护bean的时候,有时候我们需要在bean在实例化完成的时候,帮我们做一些事情,这个时候我们就会使用到bean的初始化方法。举个例子,比如我们创建一个电脑,那么我们肯定就需要先安装系统,不然不能使用,此时我们就能把安装系统的过程封装到初始化方法中。我们今天主要来看我们常见的三种初始化的方法,并且分析一下他们的源码。我们这里分析的三个初始化方法如下,如果已经比较了解如何使用以及原理,可以跳过该文章1.实现InitializingBean接口2.使用@PostCo原创 2020-07-24 14:09:26 · 290 阅读 · 0 评论 -
spring源码分析之如何解决循环依赖
spring-ioc中循环依赖的问题,也算是高频的面试问题了,今天跟大家一起来总结一下spring-ioc中是如何解决循环依赖的,相信大家是可以从这篇文章中彻底理解spring容器如何帮我们解决循环依赖,为了更好的理解spring-ioc如何解决循环依赖,大家可以先简单的了解spring-ioc中bean实例化的整个时序图。一、spring-ioc解决循环依赖的位置红色的标注框的地方,表示解决循环依赖的重点逻辑,后面会跟大家一起详细阅读,这里大家可以先有个印象二、spring-ioc解决循环依赖的动原创 2020-07-02 20:57:37 · 801 阅读 · 0 评论