《SpringBoot揭秘:快速构建微服务体系》目录—导读

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
云原生网关 MSE Higress,422元/月
简介: 随着微服务(Micro Service)理念的盛行,一个流行的概念也随之诞生—微框架(Micro Framework),而其中最耀眼的,当属SpringBoot。 虽然Dropwizard是公认的最早的微框架,但SpringBoot“青出于蓝而胜于蓝”,背靠Spring框架衍生出来的整个生态体系,无论是从“出身”,还是社区的支撑上,SpringBoot都是微框架选型的不二之选。


71df4a4bff37ab53b4cdbf946a0748a2addea8f4

前  言

为什么写这本书
忘了是2015年的哪一天,只记得几个朋友跟友商的其他几个做技术的朋友吃饭,并简单做下技术交流。席间,友商的几位朋友对SpringBoot框架实施微服务很感兴趣,交谈甚欢之际,我无意间开玩笑说:“是不是该考虑写一本SpringBoot的书?”钟伦甫(原淘宝聚石)同学随口一句,“你倒是写啊!”,得,以行践言吧,谁让你把话说出去了呢?
当然,朋友的“热切期盼”只是其一,微服务盛行也是本书写作的一个契机, 希望本书成为国内第一本微服务相关的原创图书,借此跟大家分享我对微服务的浅薄理解,并围绕SpringBoot微框架打造一套微服务体系可能的探索方向,权作抛砖引玉。如果不同的思想可以借此激荡和碰撞形成更多共鸣,则吾之幸甚。
因工作繁忙,只能抽取零碎时间躬耕于晨曦和月光之下,经点滴积累,才终成此书,希望大家阅读愉快。
本书的主要内容和特色
本书以介绍微服务的基本概念开篇,逐步引出Java平台下打造微服务的利器—SpringBoot微框架。书中从SpringBoot微框架的“出身”开始,循序渐进,一步步为大家剖析SpringBoot微框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。
当然,这还只是“前戏”,本书最精彩的部分在于,在大家对SpringBoot微框架已经有了基本的认识之后,我们将一起探索如何基于SpringBoot微框架打造一套完备的微服务体系。因为如果没有平台化体系化的基础支撑,空谈微服务将无太大意义。
SpringBoot微框架依托Java平台和Spring框架,拥有良好的可扩展性和可定制性,为了说明这一点,我们单独开辟了一章内容,为大家介绍如何使用Scala和SpringBoot微框架来开发和交付相应的微服务,并且围绕Scala和SpringBoot如何打造相应的工具,技术产品等支持来提高相应微服务的交付效率。
最后我会与大家一起对SpringBoot微框架的相关内容进行回顾和展望,以期温故而知新。
本书总体上可以总结为三个关键词,“框架、体系、生态”,三者循序渐进,相辅相成,在使用SpringBoot微框架打造自己特色的微服务体系和技术生态之时,希望大家记住这三个关键词。
本书面向的读者
本书希望面向的读者当然是那些对SpringBoot微框架感兴趣的同学,如果你想了解SpringBoot微框架,并且尝试进一步深入定制该框架以满足自己团队和公司的需要,也希望会对你有所启发。
除此之外还包括:
Java平台上的广大研发同学,可以借此书了解业界微服务相关的最新动态。
其他平台上的广大研发同学,可借此书“管中窥豹”,了解微服务的一般体系和生态建设,对比并引入自身的技术和微服务体系建设之中。
脱离技术一线已久的技术负责人。
如何阅读本书
本书采用循序渐进的形式编写,所以顺序阅读是推荐的阅读方式。
勘误和资源
鉴于一家之言且编撰仓促,难免会有所纰漏,观点有失偏颇,所以,我在github网站上专门新建了一个issue项目,如果大家在阅读此书之后发现有哪些错误和疑问,或者改进建议,可以在此项目上新建issue来表达自己的观点和建议。如果时间不充裕,我会适时地选择性给予答复,当然,更希望大家可以通过issue展开讨论,互相切磋和解答疑问 。
致谢
除了最初的一句戏言,钟伦甫同学也是本书的第一位读者,帮助审稿并提出很多建议,所以,本书得以出版,第一需要感谢的就是钟伦甫同学。
其次,我要感谢华章出版社的杨福川和李艺,福川兄在接到我的出版意向之后,快速地跟进和落实,在本书初稿编写完成时马上着手出版,诸位得以在2016年上半年就手捧此书,皆需感谢福川兄的重点关注和推进。
最后要感谢我的父母,感谢他们把我带到这个世界上并让我做自己想做和要做的事情。

目  录
前言
第1章 了解微服务
1.1 什么是微服务
1.2 微服务因何而生
1.3 微服务会带来哪些好处
1.3.1 独立,独立,还是独立
1.3.2 多语言生态
1.4 微服务会带来哪些挑战
1.5 本章小结
第2章 饮水思源:回顾与探索Spring框架的本质
2.1 Spring框架的起源
2.2 Spring IoC其实很简单
2.3 了解一点儿JavaConfig
2.3.1 那些高曝光率的Annotation
2.4 本章小结
第3章 SpringBoot的工作机制
3.1 SpringBoot初体验
3.2 @SpringBootApplication背后的秘密
3.2.1 @Configuration创世纪
3.2.2 @EnableAutoConfiguration的功效
3.2.3 可有可无的@ComponentScan
3.3 SpringApplication:SpringBoot程序启动的一站式解决方案
3.3.1 深入探索SpringApplication执行流程
3.3.2 SpringApplicationRunListener
3.3.3 ApplicationListener
3.3.4 ApplicationContextInitializer
3.3.5 CommandLineRunner
3.4 再谈自动配置
3.4.1 基于条件的自动配置
3.4.2 调整自动配置的顺序
3.5 本章小结
第4章 了解纷杂的spring-boot-starter
4.1 应用日志和spring-boot-starter-logging
4.2 快速Web应用开发与spring-boot-starter-web
4.2.1 项目结构层面的约定
4.2.2 SpringMVC框架层面的约定和定制
4.2.3 嵌入式Web容器层面的约定和定制
4.3 数据访问与spring-boot-starter-jdbc
4.3.1 SpringBoot应用的数据库版本化管理
4.4 spring-boot-starter-aop及其使用场景说明
4.4.1 spring-boot-starter-aop在构建spring-boot-starter-metrics自定义模块中的应用
4.5 应用安全与spring-boot-starter-security
4.5.1 了解SpringSecurity基本设计
4.5.2 进一步定制spring-boot-starter-security
4.6 应用监控与spring-boot-starter-actuator
4.6.1 自定义应用的健康状态检查
4.6.2 开放的endpoints才真正“有用”
4.6.3 用还是不用,这是个问题
4.7 本章小结
第5章 SpringBoot微服务实践探索
5.1 使用SpringBoot构建微服务
5.1.1 创建基于Dubbo框架的SpringBoot微服务
5.1.2 使用SpringBoot快速构建Web API
5.1.3 使用SpringBoot构建其他形式的微服务
5.2 SpringBoot微服务的发布与部署
5.2.1 spring-boot-starter的发布与部署方式
5.2.2 基于RPM的发布与部署方式
5.2.3 基于Docker的发布与部署方式
5.3 SpringBoot微服务的注册与发现
5.4 SpringBoot微服务的监控与运维
5.4.1 推还是拉,这一直是个问题
5.4.2 从局部性触发式报警到系统性智能化报警
5.5 SpringBoot微服务的安全与防护
5.6 SpringBoot微服务体系的脊梁:发布与部署平台
5.7 本章小结
第6章 SpringBoot与Scala
6.1 使用Maven构建和发布基于SpringBoot的Scala应用
6.1.1 进一步简化基于Maven的Scala项目创建
6.1.2 进一步简化基于Scala的Web API开发
6.2 使用SBT构建和发布基于SpringBoot的Scala应用
6.2.1 探索基于SBT的SpringBoot应用开发模式
6.2.2 探索基于SBT的SpringBoot应用发布策略
6.3 本章小结
第7章 SpringBoot总结与展望

相关文章
|
6月前
|
安全 Java Apache
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 身份和权限认证
本文介绍了 Apache Shiro 的身份认证与权限认证机制。在身份认证部分,分析了 Shiro 的认证流程,包括应用程序调用 `Subject.login(token)` 方法、SecurityManager 接管认证以及通过 Realm 进行具体的安全验证。权限认证部分阐述了权限(permission)、角色(role)和用户(user)三者的关系,其中用户可拥有多个角色,角色则对应不同的权限组合,例如普通用户仅能查看或添加信息,而管理员可执行所有操作。
297 0
|
6月前
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
231 0
|
4月前
|
安全 Java API
Spring Boot 功能模块全解析:构建现代Java应用的技术图谱
Spring Boot不是一个单一的工具,而是一个由众多功能模块组成的生态系统。这些模块可以根据应用需求灵活组合,构建从简单的REST API到复杂的微服务系统,再到现代的AI驱动应用。
|
6月前
|
消息中间件 存储 Java
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ——ActiveMQ安装
本教程介绍ActiveMQ的安装与基本使用。首先从官网下载apache-activemq-5.15.3版本,解压后即可完成安装,非常便捷。启动时进入解压目录下的bin文件夹,根据系统选择win32或win64,运行activemq.bat启动服务。通过浏览器访问`http://127.0.0.1:8161/admin/`可进入管理界面,默认用户名密码为admin/admin。ActiveMQ支持两种消息模式:点对点(Queue)和发布/订阅(Topic)。前者确保每条消息仅被一个消费者消费,后者允许多个消费者同时接收相同消息。
172 0
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ——ActiveMQ安装
|
6月前
|
人工智能 自然语言处理 前端开发
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
本文介绍如何使用Spring Boot3与Vue2快速构建基于DeepSeek的AI对话系统。系统具备实时流式交互、Markdown内容渲染、前端安全防护等功能,采用响应式架构提升性能。后端以Spring Boot为核心,结合WebFlux和Lombok开发;前端使用Vue2配合WebSocket实现双向通信,并通过DOMPurify保障安全性。项目支持中文语义优化,API延迟低,成本可控,适合个人及企业应用。跟随教程,轻松开启AI应用开发之旅!
|
6月前
|
消息中间件 Java 微服务
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ——发布/订阅消息的生产和消费
本文详细讲解了Spring Boot中ActiveMQ的发布/订阅消息机制,包括消息生产和消费的具体实现方式。生产端通过`sendMessage`方法发送订阅消息,消费端则需配置`application.yml`或自定义工厂以支持topic消息监听。为解决点对点与发布/订阅消息兼容问题,可通过设置`containerFactory`实现两者共存。最后,文章还提供了测试方法及总结,帮助读者掌握ActiveMQ在异步消息处理中的应用。
245 0
|
6月前
|
消息中间件 网络协议 Java
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ——ActiveMQ集成
本文介绍了在 Spring Boot 中集成 ActiveMQ 的详细步骤。首先通过引入 `spring-boot-starter-activemq` 依赖并配置 `application.yml` 文件实现基本设置。接着,创建 Queue 和 Topic 消息类型,分别使用 `ActiveMQQueue` 和 `ActiveMQTopic` 类完成配置。随后,利用 `JmsMessagingTemplate` 实现消息发送功能,并通过 Controller 和监听器实现点对点消息的生产和消费。最后,通过浏览器访问测试接口验证消息传递的成功性。
352 0
|
6月前
|
消息中间件 Java API
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ—— JMS 和 ActiveMQ 介绍
本文介绍如何在Spring Boot中集成ActiveMQ,首先阐述了JMS(Java消息服务)的概念及其作为与具体平台无关的API在异步通信中的作用。接着说明了JMS的主要对象模型,如连接工厂、会话、生产者和消费者等,并指出JMS支持点对点和发布/订阅两种消息类型。随后重点讲解了ActiveMQ,作为Apache开源的消息总线,它完全支持JMS规范,适用于异步消息处理。最后,文章探讨了在Spring Boot中使用队列(Queue)和主题(Topic)这两种消息通信形式的方法。
154 0
|
10月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
516 6
|
10月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
238 1