基本信息

【插图】

编辑推荐
Spring Boot布道师、技术专家撰写,帮助读者便捷使用Spring Boot、轻松完成
项目调优为宗旨
从源码角度分析Spring Boot的核心技术架构和主要功能的实现原理,系统总结Spring Boot的使用方法、技巧和场景
内容简介
计算机书籍
本书深入分析了 SpringBoot源代码,教读者从源代码角度了解 SpringBoot的架构、设计思想和重要功能模块的实现原理。
全书共分为三个部分:
第一部分 准备篇(第1章):粗略介绍源码阅读环境的准备、 SpringBoot的整体目录结构、 SpringBoot的设计目标和理念和 SpringBoot的整体框架。
第二部 实现篇(第2~14章)这部分内容是本书的核心,1.5节中会列出SpringBoot的各个核心功能模块,这一部分会逐一去分析这些功能模块的源码,通过源码去讲解各个功能模块的架构、设计思想和实现原理,每个功能模块 用1章的篇幅进行介绍。
第三部分 扩展篇(第15~17章)主要讲解 SpringBoot与周边其他技术的结合,回归到了应用层面,但是具体内容都属于比较高级的知识点,比如SpringBoot打包部署、SpringBoot应用监控、SpringBoot安全(Security)支持等。
目录
第一部分 准备篇
第1章 阅读代码前的准备 2
1.1 获取和调试Spring Boot源代码 2
1.1.1 获取Spring Boot的源代码 2
1.1.2 调试Spring Boot的源代码 3
1.2 Spring Boot源代码的目录结构 3
1.2.1 Spring Boot的整体项目结构 4
1.2.2 spring-boot-project项目结构 5
1.3 源代码阅读工具 5
1.4 Spring Boot的设计理念和目标 6
1.4.1 设计理念 7
1.4.2 设计目标 7
1.5 Spring Boot的整体架构 7
第二部分 原理篇
第2章 Spring Boot核心运行原理 10
2.1 核心运行原理 10
2.2 运作原理源码解析之@EnableAuto-Configuration 11
2.2.1 入口类和@SpringBootApplication注解 11
2.2.2 注解@EnableAutoConfiguration功能解析 14
前言
经过几年的发展,Spring Boot几乎已成为Java企业级开发的标准框架,它为开发人员提供了极其方便的项目框架搭建、软件集成功能,极大地提升了开发人员的工作效率,减少了企业的运营成本。而Spring Boot又极其简单易用,一个新手按照官方文档的指导在十几分钟内就能创建一个可运行的Spring Boot项目。
Spring Boot的研发团队实现了用软件改变世界的梦想,实现了另外一种形式的创新。有句话说得非常好:“世界上90%的行业都值得重做一遍,当你把它们做到极致时,那便是创新。”Spring Boot做到了这一点,也得到了市场和用户的认可。
Spring Boot为开发人员提供了方便,但一些开发人员并不了解Spring Boot为什么可以带来方便的底层逻辑,也没有尝试借鉴Spring Boot的这种创新。这不仅会导致他们在使用Spring Boot的过程中不能深层次发挥它的优势,还会导致在大范围应用Spring Boot之后出现各种问题却找不到解决办法的情况,更别说借鉴Spring Boot的创新了。
作为软件开发人员,我们都知道设计模式很重要。为什么重要呢?因为这些设计模式是解决编程过程中一些典型问题的标准方法,已经被验证和认可。学习了这些解决方案,在遇到类似的问题时,软件开发人员便不用“重复造轮子”,直接借鉴经验即可。
当然,如果在使用Spring Boot的过程中只是简单地“用”,而不去思考其背后的实现逻辑与思想,即便用得再好,收获也是有限的—这样只能做到“手熟”,并不能拥有“匠心”。更重要的是,如果不学习Spring Boot背后那些优秀的设计理念和实现方式,我们肯定不能真正用好Spring Boot。
学习Spring Boot的设计理念和实现方式除了能够让开发人员从“手熟”的境界跨入“匠心”的境界,还能够让开发人员在其他业务场景中触类旁通地找到更加优秀的解决方案。同时,开发人员也能够了解代码和项目背后的深层逻辑,这会为以后的工作带来诸多好处。
因此,我在使用Spring Boot的过程中并未停留在“用”的层面,而是不断地研究、总结其源代码,发掘背后的优秀设计理念及实现方式。现在,我通过这本书将研究的一些方法和成果分享给大家。
技术在不断地快速迭代,但核心逻辑是永远不会变的,希望读者在阅读本书的同时,也关注分析源代码的方法和思路。“授之以鱼,不如授之以渔”,如果读者能够通过阅读本书,理解了Spring Boot背后的设计理念和实现方式,甚至寻找到更加优秀的解决方案,那将是我最大的欣慰。
读者对象
Spring Boot的使用者和爱好者。
Spring系列框架的使用者和爱好者。
对源码感兴趣,希望学习源码解析相关方法的技术人员。
开设Spring Boot相关课程的院校师生。
本书特色
本书有别于市面上其他Spring Boot入门和实战类的相关书,更多侧重于Spring Boot设计思想、原理及具体功能实现的源代码分析,从一个更深的层次带领读者了解Spring Boot。书中内容涵盖范围较广,却又不显冗余,每一个知识点都通过典型的功能实现来进行分析。
本书内容基于Spring Boot 2.2.1,书中涵盖的许多知识点都是我多年经验的总结,希望能给读者带来全新的知识盛宴。
如何阅读本书
由于本书的重点在于对Spring Boot源代码的分析及底层逻辑实现的讲解,因此对读者的水平有一定的要求。
首先,读者要对Spring Boot有一定的实战经验,要会用一些具体的功能,这样,配合本书的讲解才能够达到更好的学习效果。
媒体评论
Spring Boot作为一款优秀且成熟的开源框架,研究其源码和底层实现,不仅能够学到Spring Boot的优秀设计,还能学会如何阅读、分析源代码,如何自己写出优雅的代码。
本书可以帮你解决以下问题:
? Spring Boot的核心设计原理是什么,又是如何将“约定优于配置”这一设计范式的发挥到了极致的呢?
? 优秀的理念需要组件来实现,Spring Boot核心组件是如何相互协作来实现的呢?
? 曾经繁琐的配置文件不见了,Spring Boot是如何实现零配置及自动装配的呢?
? Spring Boot在启动、运行等过程中初始化了些什么,我们又能改变些什么?
? Spring Boot集成了大量优秀框架,我们以几个典型框架来分析集成的秘密。
? 你是否也想把自己的框架定义成一个可被集成的starter项目,应用到实践中?
? 通过简单的命令便发布、启动一个项目,Spring Boot在背后为我们做了些什么?