用来记录自己学习Spring&SpringBoot源码的一些心得和体会以及相关功能的实现原理,难免存在一些错误的情况,如果发现了,希望能够指出来~
spring版本 4.3.9.RELEASE
本文是学习spring源码的第一篇,主要讲的是,spring经过怎样的步骤完成xml文件的读取并生成相关的beandefinition信息
在上一篇的基础上,突出从xml的配置到具体beandefinition的操作细节,并且重点分析命名空间,顺便看了下dubbo类似的操作,发现他们的套路。
在深入学习命名空间发现了spring对外暴露的各种钩子,主要分析了比较常用的两种beanPostprocessor,如何使用和源码实现的过程。
getBean操作比较复杂,所以才分为两篇文章学习
从工厂bean和bean工厂的角度出发,了解spring是如何实例化的,最好是配合源码细细阅读,并且很多基于spring开发的产品都会使用bean工厂,例如mybatis
本文学习和了解了spring中常见的resource的工作原理,并结合现实中的配置习惯,引出了Apache Ant路径规则,spring是如何实现该规则的。
最后分析了FileSystemXmlApplicationContext和ClassPathXmlApplicationContext直接的差别,主要就是文件读取的协议不一致,在实际使用过程中需要清楚这些差别,否则会出现找不到配置文件的错误。
-
Spring 同名bean问题 分析和解决
-
Spring AOP基础学习
-
Spring AOP 注解配置 源码学习
-
Spring AOP XML配置 源码学习
-
Spring AOP XML配置和注解配置 总结学习
spring aop的实际用法以及xml配置和注解配置的原理学习和了解
spring mvc的学习,对Tomcat的基础了解,整个的运行过程是如何执行的,URL信息如何被管理,http请求分发到spring中如何被处理的
由一个注解无效引发的问题,学习和了解了新的Spring MVC URL处理细节(PS:可以优先学习此新的方法,老方式已经不被推荐使用)
Spring中的属性问题到底是如何被读取的,在bean中添加了@Value注解的字段是如何从属性文件获取到需要的字段数据
Spring中的事件通知是如何实现的,同步和异步事件通知的用法和实现细节以及Spring提供的常见的Event
介绍了事务的基本信息以及如何具体的使用事务,并分析少量源码发现各事务的本质情况。其次现在在真实的分布式系统中事务发挥的作用已经不是很大了,但并不妨碍学习事务
SpringBoot的简单入门,并且配合实际的样例学习,还加上Swagger接入实践
之前已经就spring中的BeanPostProcessor使用方法以及其实现细节谈论过,现在从更加宏观、抽象的角度去理解spring的bpp具体是如何工作的,现在spring自身有多少bpp,如果我们有自定义的bpp需求,应该如何实现。
中文配置文件乱码解决方案
SpringBoot中的白页是如何生成的,如何替换为自定义的页面内容
学习和了解SpringBoot的启动细节
了解SpringBoot&Spring 众多注解功能的核心入口
SpringBoot & Spring 另一个注解的实现细节学习