Spring源码
文章平均质量分 93
Spring源码系列;主要讲解5.3.5版本; Spring源码会根据版本不断升级;Spring源码大体逻辑是没有太大变化的;
Like Java Long Time
源码系列,中间件系,并发系列,Jvm系列,Mysql性能调优系列,分布式架构系列,微服务系列。7个系列全部通过文章的方式讲述完。因为工作原因,周更,原创不易,记得三连~
展开
-
Spring原理篇(17)--Spring事务的传播机制;该篇章是Spring原理篇的最后一章;
@TOC# Spring系列记录在程序走的每一步___auth:huf由浅入深:我们再使用@Transctional注解的时候;我们非常喜欢一个动作就是调度方法 直接就xxxx(); 就调度了Bean内的方法; 这种方式 是不起效果的 请注意如果要事务起效 请用他的代理方法进行调度 那么就会起效; 这个跟事务传播没有关系; 是跟AOP 是否使用了代理对象有关系;我们前一篇文章 有大量源码. 可能看起来很枯燥. 昨天文章有大量的文字描述原理 也想睡觉; 今天我们图文并茂.先来一段文字:我们执原创 2021-11-07 18:28:55 · 4279 阅读 · 7 评论 -
Spring原理篇(16)--Spring事务的实现;
@TOC# Spring系列记录在程序走的每一步___auth:huf连载Spring 源码系列 将近2个多月; Spring快要结束了. 随后应该会更新 Spring的另外一个模块. SpringMVC 它是可以单独运行的;他是基于 Servlet 而扩展来的.基于MVC 模式 进行演化.之前考虑先讲struts2 跟 Hibernate 但是这两个框架现在用得比较少 Hibernate还行. 但是struts2 的话. 已经过时了. 我们当初使用struts 到struts2 到 Sprin原创 2021-11-05 07:00:00 · 1768 阅读 · 6 评论 -
Spring原理篇(15)--Spring AOP源码的实现<AOP终>
@TOC# Spring系列记录在程序走的每一步___auth:huf昨天细心的同学已经发现一个问题; 就是在Spring5.X 版本 或者是SpringBoot 2.x版本 不管类是否实现了接口 都是使用的CGLIB 接口;. 在Spring5.X 版本 Spring默认就是使用CGLIB接口 在Spring 4开头的版本 使用的是JDK代理 但是到了5.X以后 我们可以在 AOP自动装载过程中发现一个 AopAutoConfiguration以下是源码原因如下:翻译过来就是 :我们应该使原创 2021-11-04 07:00:00 · 1238 阅读 · 21 评论 -
Spring原理篇(14)--Spring AOP源码的实现<一>
@TOC# Spring系列记录在程序走的每一步___auth:huf原创 2021-11-03 07:00:00 · 1953 阅读 · 2 评论 -
Spring原理篇(13)--Spring AOP 的概念的实现;
@TOC# Spring系列记录在程序走的每一步___auth:huf OOP表示面向对象编程,是一种编程思想,AOP表示面向切面编程,也是一种编程思想 在Spring官网中有这么一句话; Let us begin by defining some central AOP concepts and terminology. These terms are not Spring-specific. Unfortunately, AOP terminology is not particu原创 2021-10-25 06:51:04 · 2972 阅读 · 8 评论 -
Spring原理篇(12)--架构整合流程;该篇章讲解Spring在整合架构的时候的思路;
@TOC# Spring系列记录在程序走的每一步___auth:huf 该篇章讲解架构整合的思路; 讲解该篇章主要是为了将之前的知识点进行一个串联; 有很多接口 我仅仅是介绍了它们的使用;并没有实战场景;所以有很多同学想知道 这些接口 到底在什么场景下使用; 怎么使用; 能达到什么样的效果;例如我们整合Mybatis的时候,怎么去整合的? 如果有疑问的同学;可私信我; 回复不一定及时;请各位同学谅解; ...原创 2021-10-11 01:34:18 · 1253 阅读 · 6 评论 -
Spring原理篇(11)--@Configuration的秘密;
@TOC# Spring系列记录在程序走的每一步___auth:huf大家国庆快乐呀~ 上一个篇章 游览量是比较低的; 因为很枯燥; 包括上上个篇章; 游览量都没突破三位数;我有一个csdn博客专家认证的哥们跟我说 :建议我把文章分开写; 细化下去 同时我也发现我文章中的不足; 本篇文章尝试细化 变成短篇章 少源码; 多实践的一种方式 进行对知识点体系的一个诉说; 最近在公司在弄ELK 日志系统; 也学习到不少东西; Spring结束后 会以平时工作 团队遇到问题;困难;以及我们是怎么解决原创 2021-10-03 02:08:07 · 1059 阅读 · 3 评论 -
Spring原理篇(10)--Spring系列IOC小总结;Spring的启动原理;不得了;当初我某个同学把这一块东西搞得明明白白的; 不管是工作上遇到的问题;还是面试中遇到的问题都不在话下;
@TOC# Spring系列记录在程序走的每一步___auth:huf临近放假;预祝同学们国庆放假; 因为近期的工作,以及上生产版本比较频繁;所以文章有稍微更新不及时;国庆期间会给大家把文章补齐; 其实我们一直看源码 看得都是Spring的启动原理; Spring的启动原理 涵盖了我之前所有文章源码的集合;这里没有AOP 如果精准一点说 是有一丢丢AOP的知识点体系; AOP的源码国庆后会更新出来给大伙;在Spring中 即使没有代理对象 我们依然可以很快乐的使用Spring; 但是AOP又是S原创 2021-09-28 01:27:09 · 975 阅读 · 0 评论 -
Spring原理篇(9)--我们所说的Spring的推断方法是什么? 我们每天都在用;而且用得极多;
@TOC# Spring系列记录在程序走的每一步___auth:huf推断方法: 什么是推断方法? 我们每天都在用?怎么用的? 你知道当中的内容是什么?该问题是Spring的核心问题;在之前的篇章我们挖了一个坑: 在第一篇文章 AOP 的那一丢丢内容里面 就有一句话 <通过 UserService类推断构造方法实例化出来的对象> 有兴趣的可以翻到第一篇文章 去find一下这句话; 这个章节我们就把这个方法讲明白;Spring 推断方法;所谓Spring的推断方法;推断的就是 B原创 2021-09-23 02:46:13 · 301 阅读 · 0 评论 -
Spring原理篇(8)--循环依赖到底是如何解决的?你只需要看这一篇原理;你就知道循环依赖是怎么解决的; 就很神奇 对不对?
@TOC# Spring系列记录在程序走的每一步___auth:huf现在这个章节 我们来到了Spring的循环依赖; 我们在现实项目中处处可见; 因为Spring的机制 帮我们解决了循环依赖; 所以我们就可以不用再关注循环依赖了玛? 如果面试过程中 别人问你 循环依赖是怎么解决的 你怎么回答?.Spring 循环依赖;第一个问题 : 什么是循环依赖?什么是循环依赖? 很简单的一个问题; 给一个案例@Servicepublic class A { @Autowired原创 2021-09-21 23:00:46 · 374 阅读 · 0 评论 -
Spring原理篇(7)--Spring最经常使用的一个功能 依赖注入, 该功能源码是一定需要知道的;这是我们日常开发中的核心; 了解其源码;这一篇就够了;
@TOC# Spring系列记录在程序走的每一步___auth:huf回复:在文章的前面会 回复一些同学的疑问 注意 在使用InstantiationAwareBeanPostProcessor 的时候 如果return 返回值 不写; 此时正在创建对象过程当中; 这时候 会导致 该对象里面的@Autowired 注入失败; 对象不完整; 这时候请注意 InstantiationAwareBeanPostProcessor 的写法; 因为此时你 正在介入Bean的 实例化;Sprin原创 2021-09-21 00:41:22 · 1424 阅读 · 10 评论 -
Spring原理篇(6)--为什么你跟别的程序员一起去面试.同样问的Spring的原理;别人可以拿30K 你却只能要到15K;前面三章文章的铺垫,为的就是现在<Spring真正的生命周期-下>
@TOC# Spring系列记录在程序走的每一步___auth:huf拨开云雾见天日 守得云开见月明Spring 真正的生命周期;我们接着上一篇文章 最后阐述的地方 进行承接:我们在初始化Bean之前要实例化Bean 实例化就是根据Bean的构造函数 进行创建;通过doGetBean进行创建; 这里又分了几个PostPorcessor 分别是 : InstantiationAwareBeanPostProcessor 还有 MergedBeanDefinitionPostProcess原创 2021-09-13 01:58:14 · 249 阅读 · 2 评论 -
Spring原理篇(5)--为什么你跟别的程序员一起去面试.同样问的Spring的原理;别人可以拿30K 你却只能要到15K;前面三章文章的铺垫,为的就是现在<Spring真正的生命周期-中>
@TOC# Spring系列记录在程序走的每一步___auth:huf最近在复习Spring核心原理; 顺手记录;Spring 真正的生命周期; 在很多文章中 写到这么个标题: XXXX原理 你只要看完这一篇就够; 作为一个技术苦行憎; 老衲很直白的说一句: 不可能的. 一个技术;需要大量时间去重复调研;最终才会摸清楚其原理; 我们还是一步一脚印;慢慢往里研究; 拨开云雾见天日 守得云开见月明;欢迎各路大神指正;共同进步承接周三的陈述; 我们讲到了Bean的创建; 以下是上个篇章尾部的描述原创 2021-09-11 17:45:09 · 728 阅读 · 4 评论 -
Spring原理篇(4)--为什么你跟别的程序员一起去面试.同样问的Spring的原理;别人可以拿30K 你却只能要到15K;前面三章文章的铺垫,为的就是现在<Spring真正的生命周期-上>
@TOC# Spring系列记录在程序走的每一步___auth:huf最近在复习Spring核心原理; 顺手记录;Spring 真正的生命周期;看过我的文章的人都知道; 我在写第一篇文章的时候.描述的Spring; 是不是非常像Spring的生命周期; 但是它并不完整; 可以说是简化版本; 是让读者有这种概念. 轮廓;然后逐步往下走;如果在一开始 就描述细节; 到时候每个人心中都有不一样的Spring; 现在开始 讲解Spring真正的生命周期; 附带源码; 附带结果图;附带代码; 这仅仅是原创 2021-09-09 02:13:12 · 705 阅读 · 8 评论 -
Spring原理篇(3)--一定要知道的接口以及其应用;
@TOC# Spring系列记录在程序走的每一步___auth:huf最近在复习Spring核心原理; 顺手记录;Spring一定要知道的接口;该篇章 来由 是因为 Spring底层大量用了 其中的接口实现. 上一篇文章 模拟了Spring 主类的启动. 利用了反射 将目录扫描进来; 并且得到其注解; 然后实现 各种功能; 后面我们一起来阅读Spring源码的时候; 就不再做Spring 接口的说明; 实际上 我们在反射的过程中;我们会去读取项目里的target 文件 实际上取回来的就是C原创 2021-09-06 03:32:24 · 643 阅读 · 0 评论 -
Spring原理篇(2)--BeanPostProcessor or BeanDefinition or Aware or InitializingBean
@TOC# Spring系列记录在程序走的每一步___auth:huf最近在复习Spring核心原理; 顺手记录;Spring关健实现 简化版 以下实现均为简化版本;有助于帮助记忆; 该版本代码有部分缺陷 例如:相互以来…本章节不会记录相互依赖是怎么解决的; 之后会有专门的章节讲解其细节;主要描述Spring大致是怎么实现的 BeanDefinition 与 BeanPostProcessor 又是什么; 之后会一步一步引导读者理解Spring原理.并且记住.以下代码有详细注释: 关健代码原创 2021-09-04 03:41:16 · 794 阅读 · 2 评论 -
Spring原理篇(1)--Spring创建Bean的生命周期
@TOC# Spring系列记录在程序走的每一步___auth:huf最近在复习Spring核心原理; 顺手记录;一、Spring创建Bean的生命周期在Spring的入口开始package com.example;import com.example.service.StudentService;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure原创 2021-09-02 01:10:29 · 1549 阅读 · 4 评论