《SpringBoot揭秘:快速构建微服务体系》以微服务的基本概念介绍性开篇, 逐步引出Java平台下打造微服务的利器SpringBoot微框架,从SpringBoot微框架的出身和源头,循序渐进,一步步为大家剖析了SpringBoot微框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。
“框架,体系,生态”, 三者循序渐进,相辅相成,本书*精彩的部分在于, 在大家对SpringBoot微框架已经有了基本的认识之后, 我们将一起探索如何基于SpringBoot微框架打造一套完备的微服务体系。
SpringBoot微框架依托Java平台和Spring框架,拥有良好的可扩展性和可定制性,为了说明这一点,我们单独开辟了一章内容,为大家介绍 如何使用Scala和SpringBoot微框架来开发和交付相应的微服务,并且围绕着Scala和SpringBoot如何打造相应的工具, 技术产品等支持来提高相应微服务的交付效率。
目录
- 推荐序1
- 推荐序2
- 序言
- 前言
- 第1章 了解微服务 1
- 1.1 什么是微服务 1
- 1.2 微服务因何而生 2
- 1.3 微服务会带来哪些好处 4
- 1.3.1 独立,独立,还是独立 4
- 1.3.2 多语言生态 6
- 1.4 微服务会带来哪些挑战 8
- 1.5 本章小结 9
- 第2章 饮水思源:回顾与探索Spring框架的本质 11
- 2.1 Spring框架的起源 11
- 2.2 Spring IoC其实很简单 12
- 2.3 了解一点儿JavaConfig 14
- 2.3.1 那些高曝光率的Annotation 17
- 2.4 本章小结 18
- 第3章 SpringBoot的工作机制 19
- 3.1 SpringBoot初体验 19
- 3.2 @SpringBootApplication背后的秘密 20
- 3.2.1 @Configuration创世纪 21
- 3.2.2 @EnableAutoConfiguration的功效 22
- 3.2.3 可有可无的@ComponentScan 25
- 3.3 SpringApplication:SpringBoot程序启动的一站式解决方案 26
- 3.3.1 深入探索SpringApplication执行流程 27
- 3.3.2 SpringApplicationRunListener 30
- 3.3.3 ApplicationListener 31
- 3.3.4 ApplicationContextInitializer 32
- 3.3.5 CommandLineRunner 33
- 3.4 再谈自动配置 34
- 3.4.1 基于条件的自动配置 34
- 3.4.2 调整自动配置的顺序 35
- 3.5 本章小结 35
- 第4章 了解纷杂的spring-boot-starter 37
- 4.1 应用日志和spring-boot-starter-logging 39
- 4.2 快速Web应用开发与spring-boot-starter-web 40
- 4.2.1 项目结构层面的约定 41
- 4.2.2 SpringMVC框架层面的约定和定制 41
- 4.2.3 嵌入式Web容器层面的约定和定制 42
- 4.3 数据访问与spring-boot-starter-jdbc 43
- 4.3.1 SpringBoot应用的数据库版本化管理 46
- 4.4 spring-boot-starter-aop及其使用场景说明 48
- 4.4.1 spring-boot-starter-aop在构建spring-boot-starter-metrics自定义模块中的应用 49
- 4.5 应用安全与spring-boot-starter-security 58
- 4.5.1 了解SpringSecurity基本设计 61
- 4.5.2 进一步定制spring-boot-starter-security 66
- 4.6 应用监控与spring-boot-starter-actuator 68
- 4.6.1 自定义应用的健康状态检查 70
- 4.6.2 开放的endpoints才真正“有用” 73
- 4.6.3 用还是不用,这是个问题 75
- 4.7 本章小结 77
- 第5章 SpringBoot微服务实践探索 79
- 5.1 使用SpringBoot构建微服务 79
- 5.1.1 创建基于Dubbo框架的SpringBoot微服务 80
- 5.1.2 使用SpringBoot快速构建Web API 91
- 5.1.3 使用SpringBoot构建其他形式的微服务 104
- 5.2 SpringBoot微服务的发布与部署 110
- 5.2.1 spring-boot-starter的发布与部署方式 112
- 5.2.2 基于RPM的发布与部署方式 115
- 5.2.3 基于Docker的发布与部署方式 120
- 5.3 SpringBoot微服务的注册与发现 124
- 5.4 SpringBoot微服务的监控与运维 127
- 5.4.1 推还是拉,这一直是个问题 131
- 5.4.2 从局部性触发式报警到系统性智能化报警 132
- 5.5 SpringBoot微服务的安全与防护 133
- 5.6 SpringBoot微服务体系的脊梁:发布与部署平台 135
- 5.7 本章小结 138
- 第6章 SpringBoot与Scala 139
- 6.1 使用Maven构建和发布基于SpringBoot的Scala应用 140
- 6.1.1 进一步简化基于Maven的Scala项目创建 146
- 6.1.2 进一步简化基于Scala的Web API开发 167
- 6.2 使用SBT构建和发布基于SpringBoot的Scala应用 174
- 6.2.1 探索基于SBT的SpringBoot应用开发模式 175
- 6.2.2 探索基于SBT的SpringBoot应用发布策略 181
- 6.3 本章小结 184
- 第7章 SpringBoot总结与展望 186