一步一步学SpringBoot2(微服务项目实战)
书籍作者:黄文毅 |
ISBN:9787302503293 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:7676 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书以项目实战为主体,循序渐进地介绍了Spring Boot 2.0在Web应用开发方面的各项技能。第1章由零开始引导读者快速搭建Spring Boot开发环境,对之后Spring Boot的探险之旅奠定基础。第2章、第3章、第10章和第13章介绍Spring Boot数据访问应用,整合众多流行技术Spring Boot集成Druid、Spring Data JPA和MyBatis,快速访问MySQL和Mongo DB数据库。第4~6章重点介绍Spring Boot集成Thymeleaf模板引擎、事务使用以及拦截器和监听器的应用。第7~9章主要介绍Spring Boot使用Redis缓存和Quartz定时器、集成Log4J日志框架和发送Email邮件。第11、12章主要介绍Spring Boot集成ActiveMQ和异步调用、全局异常使用。第14章和第15章主要介绍Spring Boot应用监控和应用安全Security。第16章和第17章介绍Spring boot微服务在Zookeeper注册和Dubbo的使用、多环境配置和使用以及在Tomcat上的部署应用。第18章主要探索Spring Boot背后的原理和执行流程。为帮助读者快速掌握Spring Boot,编者还录制了与本书内容相关的教学视频,读者下载后即可观看学习。
本书适用于所有Java编程语言开发人员、Spring Boot开发爱好者以及计算机专业的学生等。
作者简介
黄文毅 CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师。曾就职于厦门星耀蓝图科技有限公司(为浦发银行、兴业银行、南京银行、湖南农信银行等银行开发系统)和上海美团(从事美团和大众点评后端开发工作),目前就职于厦门美图科技有限公司,从事美图秀秀和美拍后端开发工作。
前言
前 言
Spring Boot是近几年非常流行的微服务框架,相对于其他开发框架,Spring Boot不但使用更加简单,而且功能更加丰富、性能更加稳定和健壮。Spring Boot是在Spring框架基础上创建的一个全新的框架,其设计目的是简化Spring应用的搭建和开发过程,使得开发人员不仅能提高开发速度和生产效率,而且能够增强系统的稳定性和扩展性。
本书通过完整的项目实例带领大家一步一步学习Spring Boot。通过实战项目学习Spring Boot的基础知识、使用技巧以及技术原理,最终达到融会贯通。
让我们开始Spring Boot的探险之旅吧!
本书内容结构安排
本书是一本Spring Boot项目实战书籍,从内容结构上可以分为两部分,第1~17章是项目实战篇,主要介绍如何使用Spring Boot、如何通过Spring Boot整合其他热门技术、如何通过Spring Boot开发完整的项目。第18章是原理篇,主要介绍Spring Boot背后的原理和执行的流程。
下面是各章节的内容概要。
第1章介绍开始学习Spring Boot之前的环境准备、如何一分钟快速搭建Spring Boot、Spring Boot文件目录以及Maven Helper插件的安装和使用等。
第2章主要介绍如何安装和使用MySQL、Spring Boot集成MySQL数据库、Spring Boot集成Druid以及通过实例讲解Spring Boot具体的运用。
第3章主要介绍Spring Data JPA核心接口及继承关系、在Spring Boot中集成Spring Data JPA以及如何通过Spring Data JPA实现增删改查及自定义查询等。
第4章主要介绍Thymeleaf模板引擎、Thymeleaf模板引擎标签和函数、在Spring Boot中使用Thymeleaf、集成测试以及Rest Client工具的使用。
第5章主要介绍Spring声明式事务、Spring注解事务行为以及在Spring Boot中如何使用方法级别事务和类级别事务等。
第6章主要介绍如何在Spring Boot中使用过滤器Filter和监听器Listener。
第7章主要介绍如何安装Redis缓存、Redis缓存5种基本数据类型的增删改查、在Spring Boot中如何集成Redis缓存以及如何使用Redis缓存用户数据等。
第8章主要介绍Log4j基础知识、在Spring Boot中集成Log4j、Log4j在Spring Boot中的运用以及如何把日志打印到控制台和记录到日志文件中。
第9章主要介绍在Spring Boot中使用XML配置和Java注解两种方式定义和使用Quartz定时器以及如何在Spring Boot中通过JavaMailSender接口给用户发送广告邮件等。
第10章主要介绍如何在Spring Boot中集成MyBatis框架、通过MyBatis框架实现查询等功能以及如何使用MyBatisCodeHelper插件快速生成增删改查代码。
第11章主要介绍ActiveMQ的安装与使用、Spring Boot集成ActiveMQ、利用ActiveMQ实现异步发表微信说说以及Spring Boot异步调用@Async等。
第12章主要介绍Srping Boot全局异常使用、自定义错误页面、全局异常类开发、Retry重试机制等。
第13章主要介绍如何安装和使用MongoDB数据库、NoSQL Manager for MongoDB客户端的安装与使用以及在Spring Boot中集成MongoDB数据库开发简单的功能等。
第14章主要介绍Spring Security的基础知识、Spring Boot如何集成Spring Security、利用Spring Security实现授权登录以及利用Spring Boot实现数据库数据授权登录等。
第15章主要介绍如何通过Spring Boot监控和管理应用、自定义监控端点以及自定义HealthIndicator等。
第16章主要介绍如何安装并运行Zookeeper、Spring Boot集成Dubbo、my-spring-boot项目的服务拆分和实践、正式版API如何发布、服务注册等。
第17章主要介绍Spring Boot多环境配置及使用、Spring Boot如何打成War包并部署到外部Tomcat服务器上等。
第18章主要回顾MySpringApplication入口类的注解和run方法的原理,梳理Spring Boot启动执行的流程并简单分析spring-boot-starter起步依赖原理等。
学习本书的预备知识
Java基础
读者需要掌握J2SE基础知识,这是最基本的也是最重要的。
Java Web开发技术
在项目实战中需要用到Java Web的相关技术,比如Spring、HTML、Tomcat、MyBatis等技术。
数据库基础
读者需要掌握主流数据库基本知识,比如MySQL等,掌握基本的SQL语法以及常用数据库的安装。
本书使用的软件版本
本书项目实战开发环境为Windows 10,开发工具使用IntelliJ IDEA 2016.2,JDK使用1.8版本,Tomcat使用1.8版本,Spring Boot使用2.0.0.RC1版本。
读者对象
本书适合所有Java编程语言开发人员、所有对Spring Boot感兴趣并希望使用Spring Boot开发框架进行开发的人员、缺少Spring Boot项目实战经验以及对Spring Boot内部原理感兴趣的开发人员学习。
源代码和教学视频下载
GitHub源代码下载地址:[email protected]:huangwenyi10/stepbystep-learn-springboot.git
教学视频下载地址:https://pan.baidu.com/s/1A5xjEcvE5A2T6I5bmAmkYQ
如果你在下载过程中遇到问题,可发送邮件至[email protected]获得帮助,邮件标题为“一步一步学Spring Boot:微服务项目实战”。
勘误与交流
限于笔者水平和写作时间,书中出现疏漏之处在所难免,欢迎大家通过电子邮件等方式批评指正。
笔者的邮箱:[email protected]
笔者的博客:http://blog.csdn.net/huangwenyi1010
致谢
本书能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次和大家分享技术、交流学习的机会,感谢王金柱编辑在本书出版过程中的辛勤付出。
感谢厦门星耀蓝图科技有限公司,笔者的Spring Boot知识是在贵公司积累沉淀的,书中很多知识点和项目实战经验都来源于贵公司,感谢公司总经理杨小雄、主管林良昆、架构师高志强、同事陈明元和林腾亚对笔者的关心和帮助。
感谢上海美团科技有限公司的同事,感谢公司主管王纪伟、导师叶永林、组长文慧、同事杨伟勤对笔者的栽培与帮助。
感谢笔者的家人和何庆华学长,他们对笔者生活的照顾使得笔者没有后顾之忧,全身心投入本书的写作当中。
黄文毅
2018.2.1
目录
目 录
第1章?第一个Spring Boot项目 1
1.1?Spring Boot简单介绍 1
1.2?Spring Boot环境准备 2
1.2.1 安装JDK 2
1.2.2 安装IntelliJ IDEA 3
1.2.3 安装Apache Maven 4
1.3?一分钟快速搭建Spring Boot项目 5
1.3.1 使用Spring Initializr新建项目 5
1.3.2 测试 8
1.4?Spring Boot文件目录介绍 8
1.4.1 工程目录 8
1.4.2 入口类 10
1.4.3 测试类 10
1.4.4 pom文件 11
1.5?Maven Helper插件的安装和使用 13
1.5.1 Maven Helper插件介绍 13
1.5.2 Maven Helper插件的安装 13
1.5.3 Maven Helper插件的使用 13
第2章?集成MySQL数据库 15
2.1?MySQL介绍与安装 15
2.1.1 MySQL概述 15
2.1.2 MySQL的安装 16
2.2?集成MySQL数据库 17
2.2.1 引入依赖 17
2.2.2 添加数据库配置 17
2.2.3 设计表和实体 18
2.3?集成测试 19
2.3.1 测试用例开发 19
2.3.2 测试 20
2.3.3 Navicat for MySQL客户端安装与使用 21
2.3.4 IntelliJ IDEA连接MySQL 22
2.4?集成Druid 23
2.4.1 Druid概述 23
2.4.2 引入依赖 23
2.4.3 Druid配置 24
2.4.4 开启监控功能 25
2.4.5 测试 27
第3章?集成Spring Data JPA 28
3.1?Spring Data JPA介绍 28
3.1.1 Spring Data JPA介绍 28
3.1.2 核心接口Repository 29
3.1.3 接口继承关系图 30
3.2?集成Spring Data JPA 31
3.2.1 引入依赖 31
3.2.2 继承JpaRepository 31
3.2.3 服务层类实现 33
3.2.4 增删改查分页简单实现 35
3.2.5 自定义查询方法 36
3.3?集成测试 38
3.3.1 测试用例开发 38
3.3.2 测试 40
第4章?使用Thymeleaf模板引擎 41
4.1?Thymeleaf模板引擎介绍 41
4.2?使用Thymeleaf模板引擎 43
4.2.1 引入依赖 43
4.2.2 控制层开发 44
4.2.3 Thymeleaf模板页面开发 45
4.3?集成测试 46
4.3.1 测试 46
4.3.2 Rest Client工具介绍 46
4.3.3 使用Rest Client测试 47
第5章?Spring Boot事务支持 48
5.1?Spring事务 48
5.1.1 Spring事务介绍 48
5.1.2 Spring声名式事务 49
5.1.3 Spring注解事务行为 50
5.2?Spring Boot事务的使用 51
5.2.1 Spring Boot事务介绍 51
5.2.2 类级别事务 52
5.2.3 方法级别事务 52
5.2.4 测试 53
第6章?使用过滤器和监听器 55
6.1?Spring Boot使用过滤器Filter 55
6.1.1 过滤器Filter介绍 55
6.1.2 过滤器Filter的使用 57
6.1.3 测试 59
6.2?Spring Boot使用监听器Listener 59
6.2.1 监听器Listener介绍 59
6.2.2 监听器Listener的使用 60
6.2.3 测试 61
第7章?集成Redis缓存 62
7.1?Redis缓存介绍 62
7.1.1 Redis概述 62
7.1.2 Redis服务器的安装 63
7.1.3 Redis缓存测试 65
7.2?Spring Boot集成Redis缓存 71
7.2.1 Spring Boot缓存支持 71
7.2.2 引入依赖 71
7.2.3 添加缓存配置 71
7.2.4 测试用例开发 72
7.2.5 测试 73
7.3?Redis缓存在Spring Boot中使用 74
7.3.1 监听器Listener的开发 74
7.3.2 项目启动缓存数据 76
7.3.3 更新缓存数据 76
7.3.4 测试 78
第8章?集成Log4j日志 80
8.1?Log4j介绍 80
8.2?集成Log4j2 82
8.2.1 引入依赖 82
8.2.2 添加Log4j配置 83
8.2.3 创建log4j2.xml文件 84
8.3?使用Log4j记录日志 84
8.3.1 打印到控制台 84
8.3.2 记录到文件 86
8.3.3 测试 88
第9章?Quartz定时器和发送Email 90
9.1?使用Quartz定时器 90
9.1.1 Quartz概述 90
9.1.2 引入依赖 92
9.1.3 定时器配置文件 93
9.1.4 创建定时器类 95
9.1.5 Spring Boot扫描配置文件 97
9.1.6 测试 97
9.2?Spring Boot发送Email 98
9.2.1 Email介绍 98
9.2.2 引入依赖 98
9.2.3 添加Email配置 99
9.2.4 在定时器中发送邮件 99
9.2.5 测试 102
第10章?集成MyBatis 103
10.1?MyBatis介绍 103
10.2?集成MyBatis 104
10.2.1 引入依赖 104
10.2.2 添加MyBatis配置 104
10.2.3 Dao层和Mapper文件开发 104
10.2.4 测试 107
第11章?异步消息与异步调用 108
11.1?JMS消息介绍 108
11.2?Spring Boot集成ActiveMQ 110
11.2.1 ActiveMQ概述 110
11.2.2 ActiveMQ的安装 110
11.2.3 引入依赖 112
11.2.4 添加ActiveMQ配置 112
11.3?使用ActiveMQ 112
11.3.1 创建生产者 112
11.3.2 创建消费者 116
11.3.3 测试 117
11.4?Spring Boot异步调用 121
11.4.1 异步调用介绍 121
11.4.2 @Async的使用 121
11.4.3 测试 122
第12章?全局异常处理与Retry重试 126
12.1?全局异常介绍 126
12.2?Spring Boot全局异常使用 127
12.2.1 自定义错误页面 127
12.2.2 测试 129
12.2.3 全局异常类开发 129
12.2.4 测试 132
12.3?Retry重试机制 132
12.3.1 Retry重试介绍 132
12.3.2 Retry重试机制的使用 133
12.3.3 测试 135
第13章?集成MongoDB数据库 136
13.1?MongoDB数据库介绍 136
13.1.1 MongoDB概述 136
13.1.2 MongoDB的安装 137
13.1.3 NoSQL Manager for MongoDB客户端介绍 138
13.1.4 NoSQL Manager for MongoDB客户端的使用 138
13.2?集成MongoDB 140
13.2.1 引入依赖 140
13.2.2 添加MongoDB配置 140
13.2.3 连接MongoDB 140
13.2.4 测试 142
第14章?集成Spring Security 144
14.1?Spring Security介绍 144
14.2?集成Spring Security 146
14.2.1 引入依赖 146
14.2.2 配置Spring Security 146
14.2.3 测试 147
14.2.4 数据库用户授权登录 148
14.2.5 测试 155
第15章?Spring Boot应用监控 156
15.1?应用监控介绍 156
15.2?使用应用监控 157
15.2.1 引入依赖 157
15.2.2 添加配置 157
15.2.3 测试 158
15.2.4 定制端点 160
15.3?自定义端点 161
15.3.1 自定义端点EndPoint 161
15.3.2 测试 164
15.3.3 自定义HealthIndicator 164
15.3.4 测试 166
15.4?保护Actuator端点 166
第16章?集成Dubbo和Zookeeper 169
16.1?Zookeeper介绍与安装 169
16.1.1 Zookeeper概述 169
16.1.2 Zookeeper的安装与启动 171
16.2?Spring Boot集成Dubbo 172
16.2.1 Dubbo概述 172
16.2.2 服务与接口拆分思路 174
16.2.3 服务与接口拆分实践 174
16.2.4 正式版发布 178
16.2.5 Service服务端开发 179
16.2.6 Service服务注册 181
16.2.7 Client客户端开发 181
第17章?多环境配置与部署 183
17.1?多环境配置介绍 183
17.2?多环境配置使用 184
17.2.1 添加多个配置文件 184
17.2.2 配置激活选项 185
17.2.3 测试 185
17.3?部署 187
17.3.1 Spring Boot内置Tomcat 187
17.3.2 IntelliJ IDEA配置Tomcat 188
17.3.3 war包部署 190
17.3.4 测试 191
第18章?Spring Boot原理解析 192
18.1?回顾入口类 192
18.1.1 MySpringBootApplication入口类 192
18.1.2 @SpringBootApplication的原理 193
18.1.3 SpringApplication的run方法 195
18.1.4 SpringApplicationRunListeners监听器 196
18.1.5 ApplicationContextInitializer接口 197
18.1.6 ApplicationRunner与CommandLineRunner 199
18.2?SpringApplication执行流程 199
18.3?spring-boot-starter原理 201
参考文献 204