上篇我们分享了Spring AOP的相关源码,今天我们分享一个和Spring AOP联系非常紧密的话题---Spring事务。很多人认为事务很简单,但是往往在工作中遇到一些事务的坑(尤其是事务方法中嵌套其它事务方法一起使用时)之后,我们却不知道问题产生的原因和如何有效的解决。
分类:
编程语言 时间:
2020-09-18 12:14:23
阅读次数:
51
我们如果善用spring框架的源码设计思路,其实可以写出低耦合、高内聚、兼顾灵活性和扩展性较好的优雅代码,尤其是在做框架或组件设计的时候。今天我们就来分享一个能让我们代码变得优雅的spring核心模块-AOP模块源码设计...
分类:
编程语言 时间:
2020-09-18 03:43:51
阅读次数:
53
可以学习到什么? 0. spring整体脉络 1. 描述BeanFactory 2. BeanFactory和ApplicationContext的区别 3. 简述SpringIoC的加载过程 4. 简述Bean的生命周期 5. Spring中有哪些扩展接口及调用机制 一. spring源码整体脉络 ...
分类:
编程语言 时间:
2020-09-18 02:40:13
阅读次数:
35
由上篇的分析可知,spring创建和实例化bean的过程的环节是比较多并且包装比较深的,那么如果每次getBean时都需要走这么多环节的话,那么不但会产生很多内存对象和计算逻辑,而且更重要的是无法解决对象在一些场景中的依赖问题,尤其是循环依赖的问题..
分类:
编程语言 时间:
2020-09-18 00:49:57
阅读次数:
37
一直听说spring对java进行了重定义,设计和封装体系比较宏大;加上最近遇到了spring的问题,为了更好地定位问题,最近一段啃了一下spring源码。我用的源码版本是5.2.28,下面就把最近的研究成果做一下分享...
分类:
编程语言 时间:
2020-09-17 23:31:44
阅读次数:
39
上篇我们介绍了spring容器加载的方式,并重点介绍了基于xml配置解析和注解扫描两种容器加载的方式,封装和注册beandefinition的过程。今天我们分享BeanDefinition注册后的另一个重要过程 ---bean的实例化过程的源码..
分类:
编程语言 时间:
2020-09-17 23:31:12
阅读次数:
38
前言本专题大纲如下:事务专题大纲「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用中的问题,这两天想了想还是单独写一篇并作为事务专题的收尾篇,也是我Spring源码专题的收尾篇。本文大纲如下:Spring事务应用大纲在看这篇文章,以及下篇源码分析的文章我希望你对SpringAOP以及有充分的了解,不然一些细节问题你可能看不明白,关
分类:
编程语言 时间:
2020-08-11 09:12:55
阅读次数:
74
这是我的第47篇原创文章。为什么要阅读源码?这是一个有趣的问题,类似的问题还有,为什么要看书?为什么要爬山?这也是一个哲学问题,我想每个人都有不同的答案,下面我是对阅读源码好处的一些思考。(PS:也欢迎你在评论区留言补充)阅读源码的好处1.知其然知其所以然这是一句IT人都很熟悉的话,在开源软件越来越多,并且升级越来越快的今天,如果说还有什么是重要的,那一定是知道它(开源软件)的核心原理和执行流程,
分类:
编程语言 时间:
2020-07-31 01:20:09
阅读次数:
101
参考文档:https://www.cnblogs.com/echola/p/10943195.html https://blog.csdn.net/chengqiuming/article/details/102331033 ...
分类:
编程语言 时间:
2020-07-29 15:01:15
阅读次数:
59
前言 该文是基于上篇《MySQL主从分离的实现》的代码层实现,所以本文配置的主数据库和从数据库的数据源都是在上篇博文中已经介绍了的。 动态选择数据源的配置 由于我们在写数据的时候需要使用主库的数据源,读的时候需要从库的数据源,我们可以在Spring源码中,通过DataSource可以找到Abstra ...
分类:
数据库 时间:
2020-07-28 10:03:12
阅读次数:
74