
朱智胜
本书深入分析了 SpringBoot源代码,教读者从源代码角度了解 SpringBoot的架构、设计思想和重要功能模块的实现原理。 全书共分为三个部分: 第壹部分 准备篇(第1章):粗略介绍源码阅读环境的准备、 SpringBoot的整体目录结构、 SpringBoot的设计目标和理念和 SpringBoot的整体框架。 第二部 实现篇(第2~14章)这部分内容是本书的核心,1.5节中会列出SpringBoot的各个核心功能模块,这一部分会逐一去分析这些功能模块的源码,通过源码去讲解各个功能模块的架构、设计思想和实现原理,每个功能模块 用1章的篇幅进行介绍。 第三部分 扩展篇(第15~17章)主要讲解 SpringBoot与周边其他技术的结合,回归到了应用层面,但是具体内容都属于比较高级的知识点,比如SpringBoot打包部署、SpringBoot应用监控、SpringBoot安全(Security)支持等。
国人的源码分析,技术内幕分析还是逃离不了源码注释与讲解。看了前面的章节,后面的套路都是一样的。主要就是把怎么实现告诉你,由于SpringBoot大量的注解引导,所以变成了注解讲解。部分内容也有些许实战的部分,但这样混合起来看起来感觉也奇怪。至于SpringBoot的思想,主要就讲了一下“约定大于配置”没了。感觉也没有更深层次的分析,包括SpringBoot 出现的原因,为什么要这样设计更加没有。只能给3星。
约定优于配置。 Spring Boot通过@EnableAutoConfiguration注解开启自动配置,加载spring.factories中注册的各种AutoConfiguration类,当某个AutoConfiguration类满足其注解@Conditional指定的生效条件(Starters提供的依赖、配置或Spring容器中是否存在某个Bean等)时,实例化该AutoConfiguration类中定义的Bean(组件等),并注入Spring容器,就可以完成依赖框架的自动配置。 ·@EnableAutoConfiguration:该注解由组合注解@SpringBootApplication引入,完成自动配置开启,扫描各个jar包下的spring.factories文件,并加载文件中注册的AutoConfiguration类等。 ·spring.factories:配置文件,位于jar包的META-INF目录下,按照指定格式注册了自动配置的AutoConfiguration类。spring.factories也可以包含其他类型待注册的类。该配置文件不仅存在于Spring Boot项目中,也可以存在于自定义的自动配置(或Starter)项目中。 ·AutoConfiguration类:自动配置类,代表了Spring Boot中一类以XXAutoConfiguration命名的自动配置类。其中定义了三方组件集成Spring所需初始化的Bean和条件。 ·@Conditional:条件注解及其衍生注解,在AutoConfiguration类上使用,当满足该条件注解时才会实例化AutoConfiguration类。 ·Starters:三方组件的依赖及配置,Spring Boot已经预置的组件。Spring Boot默认的Starters项目往往只包含了一个pom依赖的项目。如果是自定义的starter,该项目还需包含spring.factories文件、AutoConfiguration类和其他配置类。
1.什么是Spring Boot? Spring Boot作为Spring脚手架框架,以达到快速构建项目、预置三方配置、开箱即用的目的。 2.Spring Boot核心运行原理? Spring Boot最核心的功能是自动配置,功能的实现都是基于“约定优于配置”的原则。 自动配置 使用Spring Boot时,只需引入对应的Starters,Spring Boot启动时便会自动加载相关依赖,配置相应的初始化参数,以最快捷、简单的形式对第三方软件进行集成。 运作原理 Spring Boot通过@EnableAutoConfiguration注解开启自动配置,加载spring.factories中注册的各种AutoConfiguration类,当某个AutoConfiguration类满足其注解@Conditional指定的生效条件(Starters提供的依赖、配置或Spring容器中是否存在某个Bean等)时,实例化该AutoConfiguration类中定义的Bean,并注入Spring容器,就可以完成依赖框架的自动配置。
很久之前读的一本书还是很有意义的,当时读了很多相关的书,补全了自己关于的这个知识的架构,对于后续嗯对嗯对的编写,还有工作的开展都是很有意义的事情,不要嫌弃没有某本书的作用小,是因为还有很多书要读。
(1)本书由Spring Boot布道师、技术专家撰写,从源码级切入,以指导实践为宗旨,可谓深度和实操性兼具。 (2)本书以【Spring Boot 2.x】版本的源码为基础,不仅提炼出了Spring Boot源码的核心思想,还对Spring Boot框架中的数十个主流功能模块进行了源码级的分析。 (3)本书在各章相关部分都给出实践指导,还以用独立章节以实际案例的形式对实践应用进行专门指导。
spring boot启动和基础原理部分讲的很详细