Spring Boot是由Pivotal团队提供的全新框架,其设计目的就是希望简化Spring企业级应用开发的过程。可以说,Spring Boot是Spring框架发展历史上的一次大的进化,是社区中快速配置的脚手架,它直接省去了烦琐的XML配置,从而避免了由配置错误所带来的尴尬。正是凭借着这些优势,Spring Boot迅速被广大开发者接受并应用于实际开发中,而且发展势头非常迅猛。由于Spring Boot非常契合微服务开发的理念,因此采用它进行微服务应用开发的企业也越来越多。
对于已经学习过Spring框架的读者来说,学习Spring Boot的门槛不高。学习Spring Boot,不仅可以让代码编写更加简单,而且还能轻松地集成各种类库和框架。另外,掌握了Spring Boot,还可以快速开发单个微服务应用,这对学习Spring Cloud微服务架构更是事半功倍。微服务是企业级应用开发的一大趋势,而Spring Boot融合了微服务架构的理念,这使得它其实已经成为Java后端开发的行业标准之一。可以说,掌握Spring Boot与各种技术的集成开发是软件开发人员的技能。
对于相关从业人员而言,迫切需要一本系统介绍Spring Boot开发技术的图书,以帮助他们系统地学习这些技术,从而满足实际开发的需求。本书便是基于这个背景而编写的,其价值在于总结了笔者在实际工作中积累的大量实践经验,并提供了各种开发解决方案。本书可以帮助读者从源码、功能和案例等方面全面地理解Spring Boot企业级应用开发,从而让他们在开发过程中少走弯路。
《Spring Boot整合开发实战》主要介绍Spring Boot如何快速配置并集成Spring MVC、Spring Data、Spring Batch和Spring Security等优秀框架和组件进行开发。本书语言简练,没有深奥难懂的专业术语,更没有高深的理论,而是完全从开发者的角度讲解实战步骤。读者只要认真阅读本书并进行编码实践,就可以较好地掌握书中的内容,从而胜任Spring Boot项目开发工作。本书是笔者工作经验的总结,相关技术人员可以作为开发手册随时翻阅。
《Spring Boot整合开发实战》特色
内容全面:本书全面介绍Spring Boot在各种开发场景中的应用,内容丰富,涉及面广,涵盖起步依赖、Web开发、数据库、缓存、消息队列、定时任务和批处理等相关技术。
内容新颖:本书主要基于Spring Boot 2.2.6这个流行版本完成各种框架和组件的集成开发,涉及的技术都是当前开发中经常要使用的热门技术和新技术。
注重实战:本书结合大量示例,从实际编码的角度进行讲解,所讲述的知识点大多是笔者在多年的开发工作中积累的宝贵经验,可以让读者避免掉坑,少走弯路。
源码剖析:笔者以典型示例结合源码剖析的方式完美地呈现技术要点,可以帮助读者加深对编码的理解,提升实际编码的能力。
《Spring Boot整合开发实战》内容
第1篇 Spring Boot开发基础
本篇涵盖第1、2章,主要介绍Spring Boot开发环境的配置与搭建,让读者从整体上了解Spring Boot的开发过程。另外,本篇还重点介绍Spring Boot的启动原理与加载逻辑,帮助读者理解Spring框架的IoC和AOP设计模式,从而掌握Spring Boot自动配置的实现过程,为后续章节打好理论基础。
第2篇 第三方组件集成
本篇涵盖第3~11章,主要对Spring Boot的第三方组件的功能模块进行源码分析,介绍组件的集成过程,并通过示例代码进行演示和总结,从而达到让读者能够上手开发的目的。本篇属于全书的重点,需要读者很好地掌握并进行相应的实践。
第3篇 项目案例实战
本篇涵盖第12章,主要介绍如何基于Spring Boot框架进行项目开发和接口测试,其中重点介绍需求分析、框架设计、项目模块构建及项目落地的相关内容。
《Spring Boot整合开发实战》读者对象
有Java基础的Spring Boot初学者;
Spring Boot进阶开发人员;
Spring Boot框架爱好者;
Spring系列框架爱好者;
Java Web开发人员;
微服务开发人员;
对源码分析感兴趣的技术人员;
Java应用开发培训学员。
配书资源获取方式
《Spring Boot整合开发实战》涉及的所有源代码需要读者自行下载。请在华章公司的网站(www.hzbook.com)上搜索到本书,然后单击资料下载按钮,即可在本书页面上找到下载链接。
售后支持
读者阅读本书时若有疑问,可以发电子邮件到hzbook2017@163.com获得帮助。另外,书中若有疏漏和不当之处,也请读者及时反馈,以便后期修订。
莫海
……
第1篇 Spring Boot开发基础
第1章 初识Spring Boot 2
1.1 Spring Boot简介 2
1.2 Spring Boot项目构建 3
1.2.1 开发环境准备 3
1.2.2 开发工具准备 9
1.2.3 项目创建 13
1.2.4 项目启动方式 19
1.3 Spring Boot项目发布 21
1.3.1 打包部署 21
1.3.2 基于Docker的简单部署 23
1.4 小结 26
第2章 Spring Boot基础知识 27
2.1 Spring Boot启动原理 27
2.1.1 SpringApplication启动探索 27
2.1.2 注解@SpringBootApplication详解 30
2.1.3 注解@EnableAutoConfiguration详解 43
2.1.4 注解@Configuration与@Component对比 51
2.2 Spring Boot基础配置 53
2.2.1 Spring Boot配置文件加载机制 53
2.2.2 Properties配置文件详解 56
2.2.3 YAML配置文件详解 59
2.2.4 Spring Profiles使用说明 60
2.3 自定义Banner 63
2.4 内嵌式Web容器 66
2.4.1 Tomcat的配置 67
2.4.2 Undertow的配置 69
2.4.3 Jetty的配置 71
2.5 视图层技术 73
2.5.1 集成Thymeleaf模板引擎 73
2.5.2 集成Freemarker模板引擎 76
2.5.3 集成Velocity模板引擎 78
2.6 小结 80
第2篇 第三方组件集成
第3章 Spring Boot整合Web开发 82
3.1 Spring Boot自动配置Web 82
3.2 配置JSON和XML数据转换 84
3.2.1 默认转换器 85
3.2.2 自定义转换器 93
3.3 配置Servlet、Filter和Listener 96
3.4 配置拦截器 104
3.5 配置AOP 108
3.6 全局异常处理 114
3.6.1 自定义错误页 114
3.6.2 自定义异常返回 119
3.7 静态资源访问 121
3.7.1 默认静态资源访问 121
3.7.2 自定义静态资源访问 123
3.8 配置CORS实现跨域 124
3.9 配置文件上传 127
3.10 配置启动加载项 130
3.10.1 CommandLineRunner接口详解 132
3.10.2 ApplicationRunner接口详解 133
3.11 配置日志 134
3.11.1 Log4j 2配置 134
3.11.2 Logback配置 135
3.12 小结 138
第4章 Spring Boot整合持久层技术 139
4.1 默认连接池HikariCP 139
4.2 配置Druid连接池 146
4.3 配置MyBatis框架 149
4.3.1 基础配置 149
4.3.2 自定义插件 155
4.3.3 应用案例 161
4.4 配置使用Spring Data JDBC 166
4.4.1 基础配置 166
4.4.2 应用案例 168
4.5 配置使用Spring Data JPA 171
4.5.1 基础配置 171
4.5.2 应用案例 176
4.6 事务管理配置 179
4.7 多数据源配置 184
4.8 小结 187
第5章 Spring Boot构建RESTful风格 188
5.1 RESTful简介 188
5.2 Spring Data REST实现REST服务 189
5.3 Swagger生成API文档工具 194
5.4 小结 198
第6章 Spring Boot整合NoSQL 199
6.1 NoSQL简介 199
6.2 集成Redis数据库 200
6.2.1 Redis简介 200
6.2.2 Redis应用案例 201
6.2.3 Redis集群 222
6.3 集成MongoDB数据库 225
6.3.1 MongoDB简介 226
6.3.2 MongoDB应用案例 227
6.4 小结 232
第7章 Spring Boot整合Cache缓存 233
7.1 Spring Boot的缓存支持 233
7.1.1 注解@EnableCaching开启声明式缓存 233
7.1.2 默认的ConcurrentMapCacheManager缓存管理器 242
7.2 EhCache缓存技术 245
7.2.1 EhCacheCacheManager缓存配置 245
7.2.2 EhCache的集群模式 248
7.3 Redis缓存技术 250
7.3.1 RedisCacheManager缓存配置 250
7.3.2 Redis缓存管理 254
7.4 小结 255
第8章 Spring Security安全管理 256
8.1 Spring Security基本配置 256
8.1.1 用户认证 256
8.1.2 基于内存的认证 263
8.1.3 基于数据库的认证 266
8.1.4 用户授权 274
8.2 Spring Security高级配置 288
8.2.1 角色继承 288
8.2.2 动态权限 295
8.3 Spring Security OAuth 2.0简介 298
8.3.1 OAuth 2.0角色 299
8.3.2 OAuth 2.0授权流程 300
8.4 JWT简介 314
8.5 小结 315
第9章 Spring Boot整合消息服务 316
9.1 消息队列 316
9.2 消息中间件之RabbitMQ 317
9.2.1 RabbitMQ的基本概念 317
9.2.2 RabbitMQ自动配置 322
9.2.3 RabbitMQ应用案例 328
9.3 消息中间件之ActiveMQ 331
9.3.1 ActiveMQ的基本概念 331
9.3.2 ActiveMQ自动配置 334
9.3.3 ActiveMQ应用案例 338
9.4 消息中间件之Kafka 341
9.4.1 Kafka的基本概念 341
9.4.2 Kafka自动配置 343
9.4.3 Kafka应用案例 350
9.5 消息中间件之RocketMQ 360
9.5.1 RocketMQ的基本概念 360
9.5.2 RocketMQ自动配置 363
9.5.3 RocketMQ应用案例 372
9.6 小结 378
第10章 Spring Boot整合批处理 379
10.1 Spring Batch简介 379
10.2 Spring Batch的核心架构 380
10.3 Spring Batch基础配置 389
10.4 Spring Batch应用案例 393
10.5 小结 399
第11章 Spring Boot整合定时任务 400
11.1 Spring Boot默认的定时任务 400
11.1.1 注解@EnableScheduling:定时任务总开关 400
11.1.2 注解@Scheduled和@Schedules详解 414
11.2 Spring Boot集成JDK定时任务 419
11.2.1 Timer方式 420
11.2.2 ScheduledExecutorService方式 427
11.3 Spring Boot集成Quartz任务调度 434
11.3.1 Quartz简介 434
11.3.2 定义Quartz的Job 435
11.3.3 Quartz使用Cron表达式 445
11.3.4 消息定点推送案例 447
11.4 小结 453
第3篇 项目案例实战
第12章 Spring Boot开发案例 456
12.1 网上商城项目 456
12.1.1 架构设计 456
12.1.2 项目搭建 458
12.1.3 模块实现 498
12.2 小结 512
……