新书上架:《Spring Boot 开发实战》
— 基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战
京东下单链接
https://item.jd.com/31178320122.html
天猫下单链接
https://detail.tmall.com/item.htm?id=574928877711
基本信息
作者: 陈光剑
丛书名: 华章程序员书库
出版社:机械工业出版社
ISBN:9787111603337
上架时间:2018-8-4
出版日期:2018 年8月
开本:16开
页码:375
版次:1-1
-
所属分类:
编辑推荐
以案例方式,详细介绍如何使用 Spring Boot 2.0 框架快速开发企业级应用,包含详细步骤、示例代码,所有代码都可以下载并应用,源代码地址为https://github.com/EasySpringBoot。
想要在数秒内创建一个企业级Web应用吗?
想要摒弃繁杂凌乱的XML,实现“零XML配置”的Spring 应用开发吗?
想要几行配置就完成MyBatis、JPA、Redis等第三方框架的集成吗?
想要一键启动Web应用(再也不用费事去安装配置Tomcat)吗?
想要从让你痛不欲生的jar包冲突中解脱吗?
想要清晰地、可视化地、数据化地度量应用程序的运行状态和性能指标吗?
内容简介
本书从Spring Boot基础知识讲起,快速进入应用部署与运维,然后通过实例讲解Spring Boot的应用方法与开发技巧。本书分为三大部分,共16章。第一部分"Spring Boot 框架基础"包括第1-4章,第1章对Spring Boot进行简单介绍,第2章通过Hello World介绍Spring Boot的基本知识,第3章介绍Spring Boot启动器,第4章介绍Spring Boot自动配置原理。第二部分“Spring Boot应用的测试与运维”包括第5-6章,第5章介绍Spring Boot 应用的自动化测试,第6章介绍Spring Boot应用的部署运维。第三部分“Spring Boot项目综合实战”包括第7-16章,第7章介绍Spring Boot 集成 MVC 开发Web 应用,第8章介绍Spring Boot 集成 MyBatis 开发数据库 ORM 层,第9章介绍Spring Boot 集成 JPA 开发数据库 ORM 层,第10章介绍Spring Boot 集成 Thymeleaf 开发 Web 视图层,第11章介绍Spring Boot 集成 Freemarker 开发 Web 视图层,第12章介绍Spring Boot 集成日志 Logging 系统 sl4j,第13章介绍Spring Boot 集成 Security 开发系统的权限与安全功能,第14章介绍Spring Boot 集成 Shiro 开发系统的权限与安全功能,第15章介绍Spring Boot 集成 Swagger2 实现自动化 API 管理,第16章介绍Spring Boot + Kotlin: 下一代 Java 服务端开发。
目录
前 言
第Ⅰ部分 Spring Boot框架基础
第1章 Spring Boot简介 2
1.1 从Spring到Spring Boot 2
1.1.1 从EJB到Spring 3
1.1.2 Spring框架发展简史 4
1.1.3 Spring框架的核心模块 5
1.2 Spring Boot简介 7
1.2.1 Spring Boot是什么 7
1.2.2 Spring Boot核心模块 10
1.3 约定优于配置极简化理念 11
1.4 本章小结 12
第2章 快速开始HelloWorld 13
2.1 创建Spring Boot项目 13
2.2 Spring Boot项目的入口类 16
2.3 添加HelloWorldController 18
2.4 Spring Boot应用注解@Spring BootApplication 19
2.4.1 Spring Boot配置类注解 20
2.4.2 启用自动配置注解 21
2.4.3 组件扫描注解 21
2.5 XML配置与注解配置 22
2.6 本章小结 22
第3章 深入理解Spring Boot自动配置 23
3.1 传统的SSM开发过程 23
3.2 Spring Boot自动配置原理 26
3.2.1 Java配置 26
3.2.2 条件化Bean 27
3.2.3 组合注解 32
3.3 Spring Boot自动配置过程 33
3.3.1 @EnableAutoConfiguration注解 33
3.3.2 spring.factories文件 34
3.3.3 获取候选配置类 35
3.4 FreeMarkerAutoConfiguration实例分析 35
3.4.1 spring-boot-starter-freemarker工程 35
3.4.2 spring-boot-autoconfigure工程 37
3.5 本章小结 39
第Ⅱ部分 Spring Boot项目综合实战
第4章 Spring Boot集成MyBatis数据库层开发 42
4.1 Java EE分层架构 42
4.2 MyBatis简介 43
4.2.1 概述 43
4.2.2 MyBatis框架组成 44
4.2.3 MyBatis基础设施 46
4.3 项目实战 54
4.3.1 使用Spring Boot CLI创建工程 54
4.3.2 Spring Boot命令行CLI简介 54
4.3.3 配置application.properties 58
4.3.4 使用IDEA中自带的连接数据库客户端 59
4.3.5 使用MyBatis Generator生成dao层代码 60
4.3.6 设置MyBatis同时使用Mapper.xml和注解 62
4.3.7 使用@Select注解 62
4.3.8 使用MyBatis分页插件pagehelper 63
4.3.9 MyBatis插件机制 64
4.3.10 实现分页接口 64
4.3.11 PageHelper工作原理 67
4.3.12 多表关联查询级联 74
4.4 本章小结 78
第5章 Spring Boot集成JPA数据库层开发 79
5.1 JPA简介 79
5.1.1 JPA生态 81
5.1.2 JPA技术栈 82
5.2 ORM框架概述 83
5.3 Hibernate简介 83
5.4 Spring Data JPA简介 88
5.5 项目实战 90
5.5.1 Spring Data JPA提供的接口 90
5.5.2 创建项目 91
5.5.3 配置数据库连接 91
5.5.4 自动生成Entity实体类代码 91
5.5.5 配置项目数据源信息 95
5.5.6 实现查询接口 96
5.5.7 分页查询 97
5.5.8 多表级联查询 99
5.5.9 级联类型 101
5.5.10 模糊搜索接口 102
5.5.11 JPQL语法基础 103
5.5.12 JPA常用注解 108
5.6 本章小结 109
第6章 Spring Boot Gradle插件应用开发 110
6.1 Gradle简介 110
6.2 用Gradle构建生命周期 112
6.3 Gradle 插件 114
6.4 项目实战 118
6.4.1 创建项目 118
6.4.2 添加依赖 121
6.4.3 配置上传本地Maven仓库 121
6.4.4 实现插件 122
6.4.5 添加插件属性配置 124
6.4.6 运行测试 124
6.4.7 在项目中使用kor插件 126
6.5 本章小结 128
第7章 使用Spring MVC开发Web应用 129
7.1 Spring MVC简介 129
7.1.1 Servlet概述 129
7.1.2 MVC简介 131
7.1.3 Spring、Spring MVC与Spring Boot 2.0 132
7.1.4 Spring MVC框架 133
7.2 Spring MVC常用注解 136
7.3 项目实战:使用FreeMarker模板引擎 137
7.3.1 FreeMarker简介 137
7.3.2 实现一个分页查询页面 138
7.4 实现文件下载 144
7.5 本章小结 145
第8章 Spring Boot自定义Web MVC配置 146
8.1 Web MVC配置简介 146
8.1.1 静态资源配置 147
8.1.2 拦截器配置 148
8.1.3 跨域配置 148
8.1.4 视图控制器配置 149
8.1.5 消息转换器配置 150
8.1.6 数据格式化器配置 150
8.1.7 视图解析器配置 151
8.2 全局异常处理 152
8.2.1 使用@ControllerAdvice和@ExceptionHandler注解 152
8.2.2 实现HandlerExceptionResolver接口 154
8.3 定制Web容器 157
8.4 定制Spring Boot应用程序启动Banner 158
8.5 自定义注册Servlet、Filter和Listener 161
8.5.1 注册Servlet 161
8.5.2 注册Filter 163
8.5.3 注册Listener 168
8.6 本章小结 169
第9章 Spring Boot中的AOP编程 170
9.1 Spring Boot与AOP 170
9.1.1 AOP简介 170
9.1.2 Spring AOP介绍 172
9.1.3 实现一个简单的日志切面 172
9.2 项目实战:使用AOP + Filter实现登录鉴权与权限控制 175
9.2.1 系统整体架构 175
9.2.2 创建工程 176
9.2.3 数据库表结构设计 177
9.2.4 用户登录逻辑 179
9.2.5 登录态鉴权过滤器 181
9.2.6 AOP实现用户权限管理 185
9.2.7 用户注册 187
9.2.8 数据后端校验 188
9.3 本章小结 192
第10章 Spring Boot集成Spring Security安全开发 193
10.1 Spring Security简介 193
10.2 Spring Security核心组件 194
10.3 项目实战 201
10.3.1 初阶Security:默认认证用户名密码 201
10.3.2 中阶Security:内存用户名密码认证 204
10.3.3 角色权限控制 206
10.3.4 进阶Security:基于数据库的用户和角色权限 211
10.4 本章小结 225
第11章 Spring Boot集成React.js开发前后端分离项目 226
11.1 Web前端技术简史 226
11.2 前后端分离架构 228
11.3 项目实战 229
11.3.1 系统功能介绍 229
11.3.2 实现登录后端接口 230
11.3.3 实现登录前端页面 231
11.3.4 实现列表展示后端接口 232
11.3.5 前后端联调测试 233
11.4 本章小结 235
第12章 任务调度与邮件服务开发 236
12.1 定时任务 236
12.1.1 通用实现方法 236
12.1.2 静态定时任务 237
12.1.3 Cron简介 238
12.1.4 动态定时任务 240
12.1.5 多线程执行任务 243
12.2 开发任务调度服务 245
12.2.1 同步与异步 245
12.2.2 同步任务执行 245
12.2.3 异步任务执行 247
12.3 开发邮件服务 250
12.3.1 发送富文本邮件 252
12.3.2 发送带附件的富文本邮件 253
12.4 本章小结 254
第13章 Spring Boot集成WebFlux开发响应式Web应用 255
13.1 响应式宣言及架构 255
13.2 项目实战 256
13.2.1 创建项目 256
13.2.2 代码分析 258
13.3 本章小结 262
第14章 Spring Boot缓存 263
14.1 Spring Cache简介 263
14.2 Cache注解 264
14.3 项目实战 266
14.4 本章小结 272
第15章 使用Spring Session集成Redis实现Session共享 273
15.1 Spring Session简介 273
15.2 Redis简介 275
15.2.1 Redis是什么 275
15.2.2 安装Redis 275
15.2.3 设置Redis密码 276
15.2.4 Redis数据类型 277
15.2.5 Spring Boot集成Redis 279
15.3 项目实战 281
15.4 本章小结 285
第16章 使用Zuul开发API Gateway 286
16.1 API Gateway简介 286
16.2 Zuul简介 287
16.3 项目实战 290
16.4 本章小结 294
第17章 Spring Boot日志 295
17.1 Logback简介 295
17.2 配置logback日志 296
17.3 logback.groovy配置文件 298
17.3.1 显示系统Log级别 298
17.3.2 使用logback.groovy配置 299
17.3.3 配置文件说明 301
17.4 本章小结 306
第Ⅲ部分 Spring Boot系统监控、测试与运维
第18章 Spring Boot应用的监控:Actuator与Admin 308
18.1 Actuator简介 308
18.2 启用Actuator 309
18.3 揭秘端点 311
18.3.1 常用的Actuator端点 311
18.3.2 启用和禁用端点 317
18.4 自定义Actuator端点 318
18.4.1 Endpoint接口 319
18.4.2 实现Endpoint接口 320
18.4.3 继承AbstractEndpoint抽象类 321
18.4.4 实现健康指标接口HealthIndicator 323
18.4.5 实现度量指标接口PublicMetrics 324
18.4.6 统计方法执行数据 328
18.5 使用Admin 331
18.5.1 Admin简介 331
18.5.2 创建Admin Server项目 334
18.5.3 在客户端使用Admin Server 335
18.6 本章小结 339
第19章 Spring Boot应用的测试 340
19.1 准备工作 340
19.2 分层测试 340
19.2.1 dao层测试 341
19.2.2 service层测试 342
19.2.3 使用Mockito测试service层代码 342
19.2.4 controller层测试 344
19.2.5 JSON接口测试 346
19.3 本章小结 347
第20章 Spring Boot应用Docker化 348
20.1 Spring Boot应用打包 348
20.2 Spring Boot应用运维 352
20.2.1 查看JVM参数的值 352
20.2.2 应用重启 353
20.3 使用Docker构建部署运行Spring Boot应用 353
20.3.1 Docker简介 354
20.3.2 环境搭建 355
20.4 项目实战 356
20.4.1 添加Docker构建插件 356
20.4.2 配置Dockerfile文件创建自定义的镜像 357
20.4.3 Dockerfile配置说明 358
20.4.4 构建镜像 362
20.4.5 运行测试 363
20.5 本章小结 364 |
本书以实战案例的方式,详细介绍如何使用 Spring Boot 2.0 框架快速开发企业级应用,包含详细步骤、示例代码,所有代码都可以下载并应用,源代码地址为https://github.com/EasySpringBoot。
想要在数秒内创建一个企业级Web应用吗?
想要摒弃繁杂凌乱的XML,实现“零XML配置”的Spring 应用开发吗?
想要几行配置就完成MyBatis、JPA、Redis等第三方框架的集成吗?
想要一键启动Web应用(再也不用费事去安装配置Tomcat)吗?
想要从让你痛不欲生的jar包冲突中解脱吗?
想要清晰地、可视化地、数据化地度量应用程序的运行状态和性能指标吗? |
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是简化新 Spring 应用的初始搭建以及开发过程。在 Java 开发领域中,有很多著名框架都是 Pivotal 团队的产品,如:Spring 框架及其衍生框架、缓存Redis、消息队列框架RabbitMQ、Greenplum数据库等。还有Tomcat、Apache Http Server、Groovy里的一些顶级开发者、DevOps理论的提出者都属于Pivotal团队。Spring 团队在现有 Spring 框架的基础上,开发了一个新框架:Spring Boot,用来简化配置和部署 Spring 应用程序的过程,去除了那些烦琐的开发步骤和样板代码及其配置,使得基于 Spring 框架的 Java 企业级应用开发“极简化”。相比于传统的 Spring/Spring MVC 框架的企业级应用开发(Spring 的各种配置太复杂了,我们之前是用“生命”在搞这些配置), Spring Boot 用简单的注解和 application.properties 配置文件,避免了烦琐而且容易出错的XML配置文件,极大地简化了基于 Spring 框架的企业级应用开发的配置。
Kotlin 是由 JetBrains 团队开发的多平台、静态类型、强工程实用性的编程语言,Kotlin 100% 兼容Java,比Java更强大、更安全、更简洁、更优雅。Kotlin 是 Google 公司的 Android 官方支持的开发语言。Spring 官方也正式支持Kotlin语言,Spring Boot 2.0 版本中为 Kotlin 提供了一流的支持。其实,在 Spring Boot 2.0 和 Spring 5.0 框架源代码中,已经可以看到 Kotlin 代码。 本书可以说是我对使用 Spring Boot + Kotlin 进行服务端开发的实战和思考过程的粗浅总结。通过本书的写作,加深了我对 Spring Boot框架和 Kotlin 编程语言的理解,我深刻体会到了学无止境的含义。写书的过程也是我系统学习与思考的过程,如果本书能够对你有所帮助,将不胜欣慰。
如何阅读本书
本书系统介绍了使用 Spring Boot 2.0 框架,并基于 Gradle + Kotlin 来开发企业级应用。希望通过简练的表述,系统全面地介绍如何使用 Spring Boot 2.0 框架开发项目,每章的关联度不大,读者可根据自己的需求阅读本书。
全书共分三大部分:
第Ⅰ部分 Spring Boot 框架基础(第1~3章)
第Ⅱ部分 Spring Boot 项目综合实战(第4~17章)
第Ⅲ部分 Spring Boot 系统监控、测试与运维(第18~20章)
建议初学者最好按照章节顺序来阅读本书。如果想直接使用 Spring Boot 框架进行项目的实战,可以直接进入第Ⅱ部分,如果对 Spring Boot 应用的监控、测试与运维感兴趣,那么可以从第Ⅲ部分直接开始阅读。
本书共20章,各个章节内容简介如下。
第1章:简单介绍了Spring Boot 框架的历史、组成、特性等。
第2章:使用 Spring Boot 2.0 快速实现一个基于Kotlin和 Gradle 的 HelloWorld应用。
第3章:介绍Spring Boot 是怎样通过自动配置实现“极简化配置”的应用开发。
第4章:介绍如何使用 Spring Boot 集成 MyBatis来进行数据库层开发。
第5章:介绍如何使用 Spring Boot 集成Spring Data JPA来进行数据库层开发。
第6章:介绍如何开发一个Gradle 插件,以及如何简化 开发过程中样板代码的编写。
第7章: 介绍Kotlin编程语言,以及如何集成 Spring Boot 和 Spring MVC 进行服务端开发。
第8章:介绍在 Spring Boot 项目中怎样自定义 Web MVC 配置。
第9章:介绍基于 Spring Boot + Spring MVC, 使用AOP + Filter如何实现一个简单的用户登录鉴权与权限控制系统。
第10章:介绍如何使用Spring Boot集成Spring Security开发一个自动化测试平台。
第11章:介绍Spring Boot 集成React.js开发前后端分离项目的实战案例。
第12章:介绍如何开发任务调度、邮件服务等系统功能。
第13章:介绍如何用Spring Boot 集成 WebFlux 开发响应式Web 应用。
第14章:介绍在 Spring Boot 项目开发中怎样使用Spring Cache 实现数据的缓存。
第15章:介绍如何使用Spring Session 集成Redis实现Session共享,从而实现水平扩展。
第16章:介绍如何使用 Netflix Zuul 实现一个微服务API Gateway 来完成简单代理转发和过滤器功能。
第17章:详细介绍 Spring Boot 应用的日志配置与使用,主要介绍 Logback 日志框架。
第18章:介绍如何使用 Spring Boot Actuator 和Spring Boot Admin实现监控与管理。
第19章:介绍 Spring Boot 应用的测试,以及如何在实际项目中进行分层测试。
第20章:介绍如何使用 Docker 来构建部署运行 Spring Boot 应用。
谁适合阅读本书
本书适合于所有 Java、Kotlin 程序员,以及任何对编程感兴趣的朋友。如果你目前还不是程序员,但想进入企业级应用开发的编程世界,那么你也可以尝试从本书开始学习。
虽然书中的部分内容需要一定的Java和Kotlin编程基础,还需要了解Spring框架,但是如果你想快速开始企业级应用开发,不妨从这里开始——Spring Boot 2.0 + Kotlin ,这种方式的极简特性定能激发你对编程的兴趣。
代码下载
每章末尾基本上都附了该章示例工程源代码地址。