SpringBoot 源码解读与原理分析--掘金小册课程推荐/优惠
版权声明
本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
课程介绍
作者介绍
LinkedBear:前浪潮集团后端工程师,乐忠于读源码和技术分享。
小册介绍
嘿伙计,你用过 Spring 和 SpringBoot 吗?是不是感觉Spring真是个强大的框架, SpringBoot 又让 Spring 更加牛批了呢?我想这个大家也都这么认为吧!SpringBoot 在当下的 Java 后端开发中已经相当流行,非常多的公司和开发团队都选用 SpringBoot 作为快速构建项目的打底框架,究其原因你我都清楚,它方便简单,而且注解和编程式配置都让我们觉得更加简单、容易理解和维护。可是老伙计,你会用 Spring 和 SpringBoot,你是否曾想过这样一些问题呢:
- SpringBoot 只需要依赖 starter 就能整合进一个模块,它是怎么做到的?
- SpringBoot 只需要编写启动类,打个注解就能拉起一个Web应用,我又没加Tomcat,它咋起来的呢?
- SpringBoot 跟 Spring 是什么关系呢?它咋利用Spring的呢?
- Spring 又是怎么做到IOC、AOP等如此高大上而且牛叉的机制呢?
- 人家都说 Spring 和 SpringBoot 的底层设计很牛,都在哪里体现的呢?
正如你的这些问题所想, SpringBoot 用的人多,但懂其原理的人说实话不多,能深入源码探寻最底层的人更是少之又少。(诶伙计别跑啊,等我说完。。。)
为了让更多的 “Springer” 能深入的了解 SpringBoot
、 SpringFramework
中的一些精髓,我在尝试着将框架中的核心原理系统化的整理,并且尽量的降低阅读和理解的难度,最后编制了这本小册。小册将围绕 SpringFramework
和 SpringBoot
的几个核心模块(IOC、AOP、事务、Web、嵌入式容器等)来展开剖析,力求达到足够的深度和尽可能低的理解难度。你也知道,源码的阅读和理解通常都是比较复杂且费力的,我也这么觉得,所以我在试着想一些办法,来尽可能从你熟悉的领域出发,一步步让你走入框架底层,了解它的底层原理和工作机制。相信我老伙计,这本小册不一定把 SpringFramework
和 SpringBoot
的所有源码都带你啃一遍,但它的几大核心小册已经都包含了,而且都会尽可能的带你啃的足够深,让你从底层根本了解原理,进而重新认识你面前的这个熟悉的Spring。
你会学到什么?
SpringBoot
应用的启动和引导流程SpringFramework
的手动装配和SpringBoot
的自动装配- IOC的启动原理和内部机制
- AOP的代理和执行原理
- 声明式事务的控制原理、事务传播行为原理
SpringWebMvc
、SpringWebFlux
的基本原理- 嵌入式Web容器的原理
- 阅读源码的能力
适宜人群
小册的内容偏原理和源码,需要有一定的 SpringFramework
和 SpringBoot
的基础知识才可以愉快地阅读下去。
所以这本小册适合:
- 使用过
SpringFramework
和SpringBoot
并实际开发的小伙伴 - 能熟练使用
SpringFramework
和SpringBoot
,想了解底层但翻源码一脸懵逼的小伙伴 - 有意向以后成为高级开发的小伙伴
- 技术广度大,但深度有限的小伙伴
课程目录
- 开篇:为什么要了解SpringBoot原理?
- 开始前的约定:关于本小册的一些前置说明
- 启动引导:SpringBoot的核心-自动装配(一)
- 启动引导:SpringBoot入门程序原理概述和包扫描
- 启动引导:SpringBoot的核心-自动装配(二)
- IOC:SpringBoot准备IOC容器
- IOC:SpringFramework与SpringBoot的IOC
- 启动引导:SpringBoot的自动装配实例-WebMvc
- IOC:准备运行时环境
- IOC:刷新容器-BeanFactory的预处理
- IOC:创建、初始化IOC容器
- IOC:刷新容器-后置处理器、监听器的注册
- IOC:刷新容器-初始化剩余的单实例Bean
- IOC:刷新容器-BeanFactory的后处理和组件扫描
- IOC:刷新容器-循环依赖与解决方案
- AOP:注解使用AOP基础与@EnableAspectJAutoProxy的作用
- IOC:刷新后的处理&SpringBoot在刷新容器时的扩展
- IOC:小结与收获
- 声明式事务:生效原理
- AOP:AnnotationAwareAspectJAutoProxyCreator的后置处理功能
- AOP:jdk动态代理&Cglib的执行调用链
- 声明式事务:工作原理
- AOP+事务:小结与收获
- 声明式事务:事务传播行为原理
- WebMvc:自动装配回顾与DispatcherServlet组件
- 嵌入式容器:创建过程回顾和深入配置
- 嵌入式容器:嵌入式Tomcat的优化和配置
- WebMvc:DispatcherServlet的工作原理
- WebFlux:快速了解响应式编程与Reactive
- WebFlux:快速使用WebFlux
- WebFlux:WebFlux的自动装配
- WebFlux:DispatcherHandler的工作原理-传统方式
- WebFlux:DispatcherHandler的工作原理-函数式端点
- 尾声:源码不是终点
- JarLauncher:应用打jar包后的运行原理
- 问题反馈与汇总
- 小册内容变动记录