![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring系列源码阅读日记
Spring系列源码阅读日记
YupyMan
热爱编程,享受生活
展开
-
Spring事务组件 源码阅读(Spring事务管理器的设计与实现)
1 Spring事务处理的应用场景下面,我们以DataSourceTransactionManager事务管理器为例,看一下在具体的事务管理器中如何实现事务创建、提交和回滚这些底层的事务处理操作。DataSourceTransationManager和其他事务管理器一样,如JtaTransactionManager,JpaTransactionManager和JdoTransactionMan...原创 2020-01-23 21:27:39 · 188 阅读 · 0 评论 -
Spring事务组件 源码阅读(Spring事务处理的设计与实现)
1 事务处理的编程式使用 TransactionDefinition td = new DefaultTransactionDefinition(); TransactionStatus ts = transactionManager.getTransaction(td); try { // 这里是需要进行事务处理的方法调用 } catch (Exception e) {...原创 2020-01-23 17:27:08 · 233 阅读 · 0 评论 -
Spring事务组件 源码阅读(Spring声明式事务处理)
1 设计原理与基本过程在使用Spring声明式事务处理的时候,一种常用的方法是结合IoC容器和Spring已有的TransactionProxyFactoryBean对事务管理进行配置,比如,可以在这个TransactionProxyFactoryBean中为事务方法配置传播行为、并发事务隔离级别等事务处理属性,从而对声明式事务的处理提供指导。具体来说,在对声明式事务处理的原理分析中,声明式事务...原创 2020-01-15 20:12:53 · 229 阅读 · 0 评论 -
Spring事务组件 源码阅读(Spring与事务处理)
JavaEE应用中的事务处理是一个重要并且涉及范围很广的领域。事务管理的实现往往涉及并发和数据一致性方面的问题。作为应用平台的Spring,具有在多种环境中配置和使用事务处理的能力,也就是说通过使用Spring的事务组件,可以把事务处理的工作统一起来,并为事务处理提供通用的支持。在涉及单个数据库局部事务的事务处理中,事务的最终实现和数据库的支持是紧密相关的。对局部数据库事务来说,一个事务处理的操...原创 2020-01-10 21:18:28 · 246 阅读 · 0 评论 -
SpringMVC组件 源码阅读(SpringMVC的设计与实现)
1 SpringMVC应用场景在使用SpringMVC时,除了要在web.xml中配置ContextLoaderListener外,还要对DispatcherServlet进行配置。作为一个Servlet,这个DispatcherServlet实现的是Sun的J2EE核心模式中的前端控制器模式(Front Controller), 作为一个前端控制器,所有的Web请求都需要通过它来处理,进行转发...原创 2020-01-09 21:07:05 · 291 阅读 · 0 评论 -
SpringMVC组件 源码阅读(IoC容器在Web环境中的启动)
1 Web环境中的SpringMVC在Web环境中,SpringMVC是建立在IoC容器基础上的。了解SpringMVC,首先要了解Spring的IoC容器是如何在Web环境中被载人并起作用的。Spring的IoC是一个独立模块,它并不直接在Web容器中发挥作用,如果要在Web环境中使用IoC容器,需要Spring为IoC设计一个启动过程,把IoC容器导入,并在Web容器中建立起来。具体说来,...原创 2020-01-04 13:00:58 · 283 阅读 · 0 评论 -
初级开发者应该从spring源码中学什么
作为一名初入职场的开发者,最开始是在逛B站刷视频时看到的一个spring源码阅读解析,当时作为一个只知道SSH和CRUD的boy,看完后心里就两个词儿“卧槽!牛B啊!”而且在去年秋招面试阿里时几乎每次都会被面试官问道“有阅读过什么开源框架吗?”每次我都只能一脸便秘的“嗯…,呃…,啊…,木得…”。这在我心里埋下了一个想法,硬着头皮也要把spring框架源码读一遍,再不济也要看看猪是怎么跑的。从7月...转载 2019-11-18 22:15:06 · 320 阅读 · 1 评论 -
spring源码故事-面筋哥IoC容器的一天(上)
引言:庞大的代码量让人心生怠倦,有趣的故事让技术也疯狂。大家好,我是IoC容器家族的第17代传人,我们家族世世代代在spring商业街上卖烤面筋,大家都叫我“面筋哥”,另外我爹还给我起了个高大上的英文名字,叫“FileSystemXmlApplicationContext”,但有群臭猴子嫌麻烦,就天天叫我的外号,害得我差点忘了自己的本名。不过无所谓咯,只要生意兴隆,这都是小事。前几天出摊卖烤...原创 2019-10-15 16:37:06 · 234 阅读 · 0 评论 -
JDK动态代理的实现原理解析
最近在看spring AOP部分的源码,对原创 2019-08-19 20:48:10 · 253 阅读 · 0 评论 -
Spring源码笔记,AOP
理论性的文字,我觉得就不在这里再ctrl+C,ctrl+V一遍咯,大道理讲这么多,越听越迷糊。不如直接看源码+注解来的明白痛快。所以话不多说,直接上源码。1、主要的接口1.1、Advice通知定义了切面的增强方式,如:前置增强BeforeAdvice,后置增强AfterAdvice,异常增强ThrowsAdvice等。下面看两个主要的子接口的源码。public interface Meth...原创 2019-08-18 21:20:25 · 553 阅读 · 0 评论 -
Spring源码笔记,将BeanDefinition注册进IoC容器
这篇文章分享一下spring IoC容器初始化第三部分的代码,也就是将前面解析得到的BeanDefinition注册进IoC容器,其实就是存入一个ConcurrentHashMap<String, BeanDefinition>中。1、回过头看一下前面在DefaultBeanDefinitionDocumentReader中实现的processBeanDefinition(Eleme...原创 2019-07-26 21:15:27 · 1162 阅读 · 0 评论 -
spring源码笔记,依赖注入(DI)
前面我们主要分析了FileSystemXmlApplicationContext这个具体的IoC容器的初始化源码实现,在IoC容器中建立了BeanDefinition的数据映射,将其和beanName一起绑定在一个ConcurrentHashMap中。现在我们来看一下spring是如何将IoC容器中的Bean根据配置关联在一起的。Spring中触发IoC容器“依赖注入”的方式有两种,一个是通过g...原创 2019-08-04 20:12:47 · 1347 阅读 · 0 评论 -
Spring源码笔记,IoC容器将bean解析封装成BeanDefinition,源码解析
接着上一篇的BeanDefinition资源定位开始讲。Spring IoC容器BeanDefinition解析过程就是把用户在配置文件中定义好的bean,解析成容器可以装载的BeanDefinition,BeanDefinition是对pojo类的封装,这样封装可以更好的对pojo类进行管理和操作。1、先看一下AbstractRefreshableApplicationContext中refr...原创 2019-07-24 21:41:18 · 1128 阅读 · 0 评论 -
Spring源码笔记,IoC容器BeanDefinition资源定位过程
之前一直想系统的拜读一下spring的源码,看看它到底是如何吸引身边的大神们对它的设计赞不绝口,虽然每天工作很忙,每天下班后总感觉脑子内存溢出,想去放松一下,但总是以此为借口,恐怕会一直拖下去。所以每天下班虽然有些疲惫,但还是按住自己啃下这块硬骨头。spring源码这种东西真的是一回生二回熟,第一遍会被各种委派模式搞得晕头转向,不知道这个方法调用的是哪个父类的实现,另一个方法又调的是哪个子类的实...原创 2019-07-23 22:40:03 · 1357 阅读 · 0 评论