编辑推荐

SpringBoot作为目前流行的微服务框架,其设计目的是简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。SpringBoot致力于在蓬勃发展的快速应用开发领域成为领导者,因此掌握并学会使用SpringBoot是成为JavaWeb开发人员的必备技能之一。

Spring Boot 2 一步一步学微服务项目实战》主要内容包括SpringBoot环境搭建、SpringBoot常用标签、SpringBoot集成Redis、数据库MySQL、SpringData、日志Log4J、Thymeleaf模板引擎、ActiveMQ消息、MyBatis等流行技术,以及利用SpringBoot实现邮件发送、Quartz定时器、过滤器Filter和监听器Listener等。

Spring Boot 2 一步一步学微服务项目实战》是作者在SpringBoot实际项目开发中的心得与经验结晶,从SpringBoot基础到项目开发,涵盖了目前大部分的热门技术,书中采用了具体案例来讲解实际项目开发,并给出了完整的项目代码。通过学习《Spring Boot 2 一步一步学微服务项目实战》,读者既能够掌握SpringBoot的相关技术和应用,又能够举一反三,在自己的项目开发中活学活用。

Spring Boot 2 一步一步学微服务项目实战》使用SpringBoot2.0.0RC1以及IntellijIDEA新版本进行概念讲解与代码开发。

内容简介

Spring Boot 2 一步一步学微服务项目实战》以项目实战为主体,循序渐进地介绍了SpringBoot2.0在Web应用开发方面的各项技能。第1章由零开始引导读者快速搭建SpringBoot开发环境,对之后SpringBoot的探险之旅奠定基础。第2章、第3章、第10章和第13章介绍SpringBoot数据访问应用,整合众多流行技术SpringBoot集成Druid、SpringDataJPA和MyBatis,快速访问MySQL和MongoDB数据库。第4~6章重点介绍SpringBoot集成Thymeleaf模板引擎、事务使用以及拦截器和监听器的应用。第7~9章主要介绍SpringBoot使用Redis缓存和Quartz定时器、集成Log4J日志框架和发送Email邮件。第11、12章主要介绍SpringBoot集成ActiveMQ和异步调用、全局异常使用。第14章和第15章主要介绍SpringBoot应用监控和应用安全Security。第16章和第17章介绍Springboot微服务在Zookeeper注册和Dubbo的使用、多环境配置和使用以及在Tomcat上的部署应用。第18章主要探索SpringBoot背后的原理和执行流程。为帮助读者快速掌握SpringBoot,编者还录制了与《Spring Boot 2 一步一步学微服务项目实战》内容相关的教学视频,读者下载后即可观看学习。
Spring Boot 2 一步一步学微服务项目实战》适用于所有Java编程语言开发人员、SpringBoot开发爱好者以及计算机专业的学生等。

作者简介

黄文毅CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师。曾就职于厦门星耀蓝图科技有限公司(为浦发银行、兴业银行、南京银行、湖南农信银行等银行开发系统)和上海美团(从事美团和大众点评后端开发工作),目前就职于厦门美图科技有限公司,从事美图秀秀和美拍后端开发工作。

目录

第1章第一个SpringBoot项目1
1.1SpringBoot简单介绍1
1.2SpringBoot环境准备2
1.2.1安装JDK2
1.2.2安装IntelliJIDEA3
1.2.3安装ApacheMaven4
1.3一分钟快速搭建SpringBoot项目5
1.3.1使用SpringInitializr新建项目5
1.3.2测试8
1.4SpringBoot文件目录介绍8
1.4.1工程目录8
1.4.2入口类10
1.4.3测试类10
1.4.4pom文件11
1.5MavenHelper插件的安装和使用13
1.5.1MavenHelper插件介绍13
1.5.2MavenHelper插件的安装13
1.5.3MavenHelper插件的使用13
第2章集成MySQL数据库15
2.1MySQL介绍与安装15
2.1.1MySQL概述15
2.1.2MySQL的安装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.3NavicatforMySQL客户端安装与使用21
2.3.4IntelliJIDEA连接MySQL22
2.4集成Druid23
2.4.1Druid概述23
2.4.2引入依赖23
2.4.3Druid配置24
2.4.4开启监控功能25
2.4.5测试27
第3章集成SpringDataJPA28
3.1SpringDataJPA介绍28
3.1.1SpringDataJPA介绍28
3.1.2核心接口Repository29
3.1.3接口继承关系图30
3.2集成SpringDataJPA31
3.2.1引入依赖31
3.2.2继承JpaRepository31
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.1Thymeleaf模板引擎介绍41
4.2使用Thymeleaf模板引擎43
4.2.1引入依赖43
4.2.2控制层开发44
4.2.3Thymeleaf模板页面开发45
4.3集成测试46
4.3.1测试46
4.3.2RestClient工具介绍46
4.3.3使用RestClient测试47
第5章SpringBoot事务支持48
5.1Spring事务48
5.1.1Spring事务介绍48
5.1.2Spring声名式事务49
5.1.3Spring注解事务行为50
5.2SpringBoot事务的使用51
5.2.1SpringBoot事务介绍51
5.2.2类级别事务52
5.2.3方法级别事务52
5.2.4测试53
第6章使用过滤器和监听器55
6.1SpringBoot使用过滤器Filter55
6.1.1过滤器Filter介绍55
6.1.2过滤器Filter的使用57
6.1.3测试59
6.2SpringBoot使用监听器Listener59
6.2.1监听器Listener介绍59
6.2.2监听器Listener的使用60
6.2.3测试61
第7章集成Redis缓存62
7.1Redis缓存介绍62
7.1.1Redis概述62
7.1.2Redis服务器的安装63
7.1.3Redis缓存测试65
7.2SpringBoot集成Redis缓存71
7.2.1SpringBoot缓存支持71
7.2.2引入依赖71
7.2.3添加缓存配置71
7.2.4测试用例开发72
7.2.5测试73
7.3Redis缓存在SpringBoot中使用74
7.3.1监听器Listener的开发74
7.3.2项目启动缓存数据76
7.3.3更新缓存数据76
7.3.4测试78
第8章集成Log4j日志80
8.1Log4j介绍80
8.2集成Log4j282
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定时器和发送Email90
9.1使用Quartz定时器90
9.1.1Quartz概述90
9.1.2引入依赖92
9.1.3定时器配置文件93
9.1.4创建定时器类95
9.1.5SpringBoot扫描配置文件97
9.1.6测试97
9.2SpringBoot发送Email98
9.2.1Email介绍98
9.2.2引入依赖98
9.2.3添加Email配置99
9.2.4在定时器中发送邮件99
9.2.5测试102
第10章集成MyBatis103
10.1MyBatis介绍103
10.2集成MyBatis104
10.2.1引入依赖104
10.2.2添加MyBatis配置104
10.2.3Dao层和Mapper文件开发104
10.2.4测试107
第11章异步消息与异步调用108
11.1JMS消息介绍108
11.2SpringBoot集成ActiveMQ110
11.2.1ActiveMQ概述110
11.2.2ActiveMQ的安装110
11.2.3引入依赖112
11.2.4添加ActiveMQ配置112
11.3使用ActiveMQ112
11.3.1创建生产者112
11.3.2创建消费者116
11.3.3测试117
11.4SpringBoot异步调用121
11.4.1异步调用介绍121
11.4.2@Async的使用121
11.4.3测试122
第12章全局异常处理与Retry重试126
12.1全局异常介绍126
12.2SpringBoot全局异常使用127
12.2.1自定义错误页面127
12.2.2测试129
12.2.3全局异常类开发129
12.2.4测试132
12.3Retry重试机制132
12.3.1Retry重试介绍132
12.3.2Retry重试机制的使用133
12.3.3测试135
第13章集成MongoDB数据库136
13.1MongoDB数据库介绍136
13.1.1MongoDB概述136
13.1.2MongoDB的安装137
13.1.3NoSQLManagerforMongoDB客户端介绍138
13.1.4NoSQLManagerforMongoDB客户端的使用138
13.2集成MongoDB140
13.2.1引入依赖140
13.2.2添加MongoDB配置140
13.2.3连接MongoDB140
13.2.4测试142
第14章集成SpringSecurity144
14.1SpringSecurity介绍144
14.2集成SpringSecurity146
14.2.1引入依赖146
14.2.2配置SpringSecurity146
14.2.3测试147
14.2.4数据库用户授权登录148
14.2.5测试155
第15章SpringBoot应用监控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自定义端点EndPoint161
15.3.2测试164
15.3.3自定义HealthIndicator164
15.3.4测试166
15.4保护Actuator端点166
第16章集成Dubbo和Zookeeper169
16.1Zookeeper介绍与安装169
16.1.1Zookeeper概述169
16.1.2Zookeeper的安装与启动171
16.2SpringBoot集成Dubbo172
16.2.1Dubbo概述172
16.2.2服务与接口拆分思路174
16.2.3服务与接口拆分实践174
16.2.4正式版发布178
16.2.5Service服务端开发179
16.2.6Service服务注册181
16.2.7Client客户端开发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.1SpringBoot内置Tomcat187
17.3.2IntelliJIDEA配置Tomcat188
17.3.3war包部署190
17.3.4测试191
第18章SpringBoot原理解析192
18.1回顾入口类192
18.1.1MySpringBootApplication入口类192
18.1.2@SpringBootApplication的原理193
18.1.3SpringApplication的run方法195
18.1.4SpringApplicationRunListeners监听器196
18.1.5ApplicationContextInitializer接口197
18.1.6ApplicationRunner与CommandLineRunner199
18.2SpringApplication执行流程199
18.3spring-boot-starter原理201
参考文献204

前言/序言

前言
SpringBoot是近几年非常流行的微服务框架,相对于其他开发框架,SpringBoot不但使用更加简单,而且功能更加丰富、性能更加稳定和健壮。SpringBoot是在Spring框架基础上创建的一个全新的框架,其设计目的是简化Spring应用的搭建和开发过程,使得开发人员不仅能提高开发速度和生产效率,而且能够增强系统的稳定性和扩展性。
Spring Boot 2 一步一步学微服务项目实战》通过完整的项目实例带领大家一步一步学习SpringBoot。通过实战项目学习SpringBoot的基础知识、使用技巧以及技术原理,最终达到融会贯通。
让我们开始SpringBoot的探险之旅吧!
Spring Boot 2 一步一步学微服务项目实战》内容结构安排
Spring Boot 2 一步一步学微服务项目实战》是一本SpringBoot项目实战书籍,从内容结构上可以分为两部分,第1~17章是项目实战篇,主要介绍如何使用SpringBoot、如何通过SpringBoot整合其他热门技术、如何通过SpringBoot开发完整的项目。第18章是原理篇,主要介绍SpringBoot背后的原理和执行的流程。
下面是各章节的内容概要。
第1章介绍开始学习SpringBoot之前的环境准备、如何一分钟快速搭建SpringBoot、SpringBoot文件目录以及MavenHelper插件的安装和使用等。
第2章主要介绍如何安装和使用MySQL、SpringBoot集成MySQL数据库、SpringBoot集成Druid以及通过实例讲解SpringBoot具体的运用。
第3章主要介绍SpringDataJPA核心接口及继承关系、在SpringBoot中集成SpringDataJPA以及如何通过SpringDataJPA实现增删改查及自定义查询等。
第4章主要介绍Thymeleaf模板引擎、Thymeleaf模板引擎标签和函数、在SpringBoot中使用Thymeleaf、集成测试以及RestClient工具的使用。
第5章主要介绍Spring声明式事务、Spring注解事务行为以及在SpringBoot中如何使用方法级别事务和类级别事务等。
第6章主要介绍如何在SpringBoot中使用过滤器Filter和监听器Listener。
第7章主要介绍如何安装Redis缓存、Redis缓存5种基本数据类型的增删改查、在SpringBoot中如何集成Redis缓存以及如何使用Redis缓存用户数据等。
第8章主要介绍Log4j基础知识、在SpringBoot中集成Log4j、Log4j在SpringBoot中的运用以及如何把日志打印到控制台和记录到日志文件中。
第9章主要介绍在SpringBoot中使用XML配置和Java注解两种方式定义和使用Quartz定时器以及如何在SpringBoot中通过JavaMailSender接口给用户发送广告邮件等。
第10章主要介绍如何在SpringBoot中集成MyBatis框架、通过MyBatis框架实现查询等功能以及如何使用MyBatisCodeHelper插件快速生成增删改查代码。
第11章主要介绍ActiveMQ的安装与使用、SpringBoot集成ActiveMQ、利用ActiveMQ实现异步发表微信说说以及SpringBoot异步调用@Async等。
第12章主要介绍SrpingBoot全局异常使用、自定义错误页面、全局异常类开发、Retry重试机制等。
第13章主要介绍如何安装和使用MongoDB数据库、NoSQLManagerforMongoDB客户端的安装与使用以及在SpringBoot中集成MongoDB数据库开发简单的功能等。
第14章主要介绍SpringSecurity的基础知识、SpringBoot如何集成SpringSecurity、利用SpringSecurity实现授权登录以及利用SpringBoot实现数据库数据授权登录等。
第15章主要介绍如何通过SpringBoot监控和管理应用、自定义监控端点以及自定义HealthIndicator等。
第16章主要介绍如何安装并运行Zookeeper、SpringBoot集成Dubbo、my-spring-boot项目的服务拆分和实践、正式版API如何发布、服务注册等。
第17章主要介绍SpringBoot多环境配置及使用、SpringBoot如何打成War包并部署到外部Tomcat服务器上等。
第18章主要回顾MySpringApplication入口类的注解和run方法的原理,梳理SpringBoot启动执行的流程并简单分析spring-boot-starter起步依赖原理等。
学习《Spring Boot 2 一步一步学微服务项目实战》的预备知识
Java基础
读者需要掌握J2SE基础知识,这是最基本的也是最重要的。
JavaWeb开发技术
在项目实战中需要用到JavaWeb的相关技术,比如Spring、HTML、Tomcat、MyBatis等技术。
数据库基础
读者需要掌握主流数据库基本知识,比如MySQL等,掌握基本的SQL语法以及常用数据库的安装。
Spring Boot 2 一步一步学微服务项目实战》使用的软件版本
Spring Boot 2 一步一步学微服务项目实战》项目实战开发环境为Windows10,开发工具使用IntelliJIDEA2016.2,JDK使用1.8版本,Tomcat使用1.8版本,SpringBoot使用2.0.0.RC1版本。
读者对象
Spring Boot 2 一步一步学微服务项目实战》适合所有Java编程语言开发人员、所有对SpringBoot感兴趣并希望使用SpringBoot开发框架进行开发的人员、缺少SpringBoot项目实战经验以及对SpringBoot内部原理感兴趣的开发人员学习。
源代码和教学视频下载
GitHub源代码下载地址:git@github.com:huangwenyi10/stepbystep-learn-springboot.git
教学视频下载地址:https://pan.baidu.com/s/1A5xjEcvE5A2T6I5bmAmkYQ
如果你在下载过程中遇到问题,可发送邮件获得帮助,邮件标题为“一步一步学SpringBoot:微服务项目实战”。
勘误与交流
限于笔者水平和写作时间,书中出现疏漏之处在所难免,欢迎大家通过电子邮件等方式批评指正。
致谢
Spring Boot 2 一步一步学微服务项目实战》能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次和大家分享技术、交流学习的机会,感谢王金柱编辑在《Spring Boot 2 一步一步学微服务项目实战》出版过程中的辛勤付出。
感谢厦门星耀蓝图科技有限公司,笔者的SpringBoot知识是在贵公司积累沉淀的,书中很多知识点和项目实战经验都来源于贵公司,感谢公司总经理杨小雄、主管林良昆、架构师高志强、同事陈明元和林腾亚对笔者的关心和帮助。
感谢上海美团科技有限公司的同事,感谢公司主管王纪伟、导师叶永林、组长文慧、同事杨伟勤对笔者的栽培与帮助。
感谢笔者的家人和何庆华学长,他们对笔者生活的照顾使得笔者没有后顾之忧,全身心投入《Spring Boot 2 一步一步学微服务项目实战》的写作当中。

黄文毅
2018.2.1


其他推荐