作者介绍
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
,想了解底层但翻源码一脸懵逼的小伙伴 - 有意向以后成为高级开发的小伙伴
- 技术广度大,但深度有限的小伙伴