本书从Spring Boot的基础知识讲起,然后逐步深入讲解Spring Boot进阶开发的相关知识,接着配合典型项目案例提高读者的开发水平。
本书共12章,涵盖的主要内容有:Spring Boot起源;Spring Boot启动原理分析;Spring Boot整合Web开发;Spring Data数据库访问与配置;RESTful风格的接口设计规范;NoSQL相关数据库应用;Spring Boot的缓存应用;Spring Security安全框架配置;消息队列相关产品应用;Spring Batch批处理框架的配置与使用;Spring Boot的定时任务应用;Spring Boot实战案例。
本书适合具有Java基础知识的开发人员阅读,尤其适合想全面、深入学习Spring boot框架的Java程序员阅读。另外,本书还适合相关培训机构作为教材使用。
目录
- 前言
- 第1篇 Spring Boot开发基础
- 第1章 初识Spring Boot2
- 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 自定义Banner63
- 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自动配置Web82
- 3.2 配置JSON和XML数据转换84
- 3.2.1 默认转换器85
- 3.2.2 自定义转换器93
- 3.3 配置Servlet、Filter和Listener96
- 3.4 配置拦截器104
- 3.5 配置AOP108
- 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 默认连接池HikariCP139
- 4.2 配置Druid连接池146
- 4.3 配置MyBatis框架149
- 4.3.1 基础配置149
- 4.3.2 自定义插件155
- 4.3.3 应用案例161
- 4.4 配置使用Spring Data JDBC166
- 4.4.1 基础配置166
- 4.4.2 应用案例168
- 4.5 配置使用Spring Data JPA171
- 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整合NoSQL199
- 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 消息中间件之RabbitMQ317
- 9.2.1 RabbitMQ的基本概念317
- 9.2.2 RabbitMQ自动配置322
- 9.2.3 RabbitMQ应用案例328
- 9.3 消息中间件之ActiveMQ331
- 9.3.1 ActiveMQ的基本概念331
- 9.3.2 ActiveMQ自动配置334
- 9.3.3 ActiveMQ应用案例338
- 9.4 消息中间件之Kafka341
- 9.4.1 Kafka的基本概念341
- 9.4.2 Kafka自动配置343
- 9.4.3 Kafka应用案例350
- 9.5 消息中间件之RocketMQ360
- 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的Job435
- 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