1. Content introduction

SpringBoot framework can be said to be one of the best choice of microservice framework, this book to SpringBoot2.0.3 version as an example, from 0 to 1 of the SpringBoot system learning. In terms of function points, almost every chapter is a different SpringBoot journey.

The book is divided into 14 chapters, chapter 1 and Chapter 2 are the introductory stage of Learning SpringBoot, from the introduction to SpringBoot, development history to development environment deployment, so that readers have a preliminary understanding of SpringBoot.

Chapter 3 to Chapter 10 is the fusion stage of SpringBoot, which introduces SpringBoot to set up Web projects, operate databases, use caching, logging, integrate security framework, combine message queues and search framework, all of which will be used in daily development. After learning in this stage, Readers can be skilled in using SpringBoot for agile development.

Chapter 11 and chapter 12 are the expansion phase of learning SpringBoot, mainly introduces some common small functions of SpringBoot and how to deploy the application in practical applications.

Chapter 13 and Chapter 14 are the actual stage of learning SpringBoot. After learning these two chapters, you can use SpringBoot more skillfully and be more close to the real application.

This book is characterized by rich sample code, practical and systematic, readers can directly restore the examples in the book, the book is mainly suitable for beginners, Java developers, Spring enthusiasts and architects.

Cover:

Here are some images:

Among them, dangdang pictures used in physical picture 1-4, 5 are taken at home.

2. The directory

第1章 Spring Boot概述 1.1 SpringBoot简介 1.2 SpringBoot特点 1.2.1 快速构建项目 1.2.2 嵌入式Web容器 1.2.3 易于构建任何应用 1.2.4 自动化配置 1.2.5 开发者工具 1.2.6 强大的应用监控 1.2.7 默认提供测试框架 1.2.8 可执行Jar部署 1.2.9 IDE多样性 1.3 为什么要学习Spring Boot 1.3.1 简化工作 1.3.2 微服务时代 1.3.3 社区背景强大 1.3.4 市场需求 1.4 Spring Boot发展历史 1.4.1 发布里程碑(2013.8.6) 1.4.2 SpringBoot 1.0(2014.4) 1.4.3 SpringBoot 1.1(2014.6) 1.4.4 SpringBoot 1.2(2015.3) 1.4.5 Spring Boot 1.3(2016.12) 1.4.6 Spring Boot 1.4(2017.1) 1.4.7 Spring Boot 1.5(2017.2) 1.4.8 Spring Boot 2.0(2018.3) 1.5 小结 第2章 走进Spring Boot 2.1 环境搭建 2.1.1 JDK安装 2.1.2 IntelliJ IDEA安装 2.1.3 Maven安装 2.1.4 IntelliJ IDEA内配置JDK和Maven 2.2 新建SpringBoot项目 2.2.1 开始创建项目 2.2.2 配置JDK版本和Initializr Service URL 2.2.3 配置Project Metadata信息 2.2.4 配置SpringBoot版本、默认引入组件 2.2.5 配置项目名称和项目位置 2.3 项目工程介绍 2.3.1 Java类文件 2.3.2 资源文件 2.3.3 测试类文件 2.3.4 pom文件 2.4 运行项目 2.5 小结 第3章 Spring Boot的Web之旅 3.1 Spring Boot的第一个Web项目 3.1.1 加入Web依赖 3.1.2 创建Controller 3.1.3 测试运行 3.2 WebFlux使用 3.2.1 添加WebFlux依赖 3.2.2 创建一个处理方法类 3.2.3 创建一个Router类 3.2.4 测试运行 3.3 使用热部署 3.4 配置文件学习 3.4.1 配置文件类型 3.4.2 自定义属性 3.4.3 使用随机数 3.4.4 多环境配置 3.4.5 自定义配置文件 3.5.1 使用Thymeleaf 3.5.2 使用FreeMarker 3.5.3 使用传统JSP 3.6 使用WebJars 3.7 国际化使用 3.8 文件上传下载 3.9 小结 第4章 Spring Boot的数据库之旅 4.1 使用数据库 4.1.1 使用MySQL数据库 4.1.2 使用SQL Server数据库 4.1.3 使用Oracle数据库 4.1.4 使用MongoDB数据库 4.1.5 使用Neo4j数据库 4.1.6 使用Redis数据库 4.1.7 使用Memcached数据库 4.2 使用JDBC操作数据库 4.2.1 JDBC依赖配置 4.2.2 配置数据库信息 4.2.3 创建实体类 4.2.4 使用Controller进行测试 4.3 使用JPA操作数据库 4.3.1 JPA介绍 4.3.2 JPA依赖配置 4.3.3 配置文件 4.3.4 创建实体对象 4.3.5 创建数据操作层 4.3.6 简单测试运行 4.3.7 JPA扩展学习 4.3.8 基于WebFlux使用 4.4 使用MyBatis操作数据库 4.4.1 MyBatis简介 4.4.2 MyBaties依赖配置 4.4.3 配置文件 4.4.4 基于XML使用 4.4.5 基于注解使用 4.4.6 测试运行 4.4.7 Mybatis-Generator插件学习 4.4.8 PageHelper插件学习 4.4.9 Mybatis-Plus插件学习 4.5 配置多数据源 4.5.1 多数据源情况分析 4.5.2 配置多数据源 4.5.3 基于JPA使用多数据 4.5.4 基于MyBatis使用多数据 4.6 使用Druid数据库连接池 4.6.1 Druid简介 4.6.2 配置Druid 4.6.3 操作数据库 4.6.4 Druid监控页面介绍 4.7 小结 第5章 Spring Boot的缓存之旅 5.1 使用SpringCache 5.1.1 SpringCache简介 5.1.2 配置SpringCache依赖 5.1.3 测试运行 5.1.4 验证缓存 5.2 使用Redis 5.2.1 Redis简介 5.2.2 项目配置 5.2.4 使用Redis缓存 5.3 使用Memcached 5.3.1 Memcached简介 5.3.2 配置Memcached依赖 5.3.3 使用Memcached缓存 5.3.4 Redis与Memcached的区别 5.4 小结 第6章 Spring Boot的日志之旅 6.1 Logback日志 6.1.1 Logback简介 6.1.2 日志格式 6.1.3 控制台输出 6.1.4 日志文件输出 6.1.5 日志级别 6.1.6 日志配置 6.1.7 基于xml配置日志 6.2 log4j日志 6.2.1 log4j简介 6.2.2 SpringBoot使用log4j 6.2.3 控制台输出 6.2.4 日志文件输出 6.3 log4j2日志 6.3.1 log4j2简介 6.3.2 SpringBoot使用log4j2 6.3.3 控制台输出 6.3.4 日志文件输出 6.3.5 异步日志 6.4 ELK日志收集 6.4.1 ELK日志收集流程介绍 6.4.2 ELK安装 6.4.3 ELK配置 6.4.3 使用Kibana查看日志 6.4.4 SpringBoot直接输出到Logstash 6.4.5 ELK日志收集优化方案及建议 6.5 小结 第7章 Spring.Boot的安全之旅 7.1 使用shiro安全管理 7.1.1 什么是shiro 7.1.2 使用shiro做权限控制 7.2 使用SpringSecurity 7.2.1 SpringSecurity简介 7.2.2 使用SpringSecurity做权限控制 7.3 小结 第8章 Spring Boot的监控之旅 8.1 使用Actuator监控 8.1.1 Actuator是什么? 8.1.2 如何使用Actuator 8.1.3 Actuator监控介绍 8.1.4 保护HTTP端点 8.1.5 健康信息 8.1.6 自定义应用程序信息 8.1.7 自定义管理端点路径 8.2 使用Admin监控 8.2.1 什么是SpringBoot Admin? 8.2.2 设置SpringBoot Admin Server 8.2.3 SpringCloud Eureka 8.2.4 Spring Boot Admin Client使用 8.2.5 安全验证 8.2.6 JMX-bean管理 8.2.7 通知 8.3 Prometheus+Grafana监控 8.3.1 Prometheus安装 8.3.2 Grafana安装 8.3.3 Spring Boot项目使用Prometheus 8.3.4 Prometheus配置 8.3.5 启动Grafana 8.4 小结 第9章 Spring Boot的消息之旅 9.1 RabbitMQ消息队列 9.1.1 RabbitMQ介绍 9.1.2 RabbitMQ的几种角色 9.1.3 RabbitMQ的几种模式 9.1.2 Spring Boot使用RabbitMQ 9.2 Kafka消息队列 9.2.1 Kafka介绍 9.2.2 Spring Boot使用Kafka 9.3 RocketMQ消息队列 9.3.1 RocketMQ介绍 9.3.2 Spring Boot使用RocketMQ 9.4 消息队列对比篇 9.5 小结 第10章 Spring Boot的搜索之旅 10.1 使用Solr 10.1.1 Solr简介 10.1.2 Spring Boot使用Solr 10.2 使用ElasticSearch 10.2.1 ElasticSearch简介 10.2.2 Spring Boot使用ElasticSearch 10.2.3 使用ElasticsearchRepository进行操作 10.2.4 使用ElasticsearchTemplate进行操作 10.2.5 非聚合查询 10.2.6 聚合查询 10.2.7 复杂查询练习 10.3 搜索引擎对比篇 10.3.1 技术背景 10.3.2 热度比较 10.3.3 集群部署 10.3.4 数据格式 10.3.5 效率 10.4 小结 第11章 Spring Boot的小彩蛋 11.1 修改启动Banner 11.1.1 启动Banner介绍 11.1.2 启动Banner修改 11.2 使用LomBok让编程更简单 11.2.1 什么是LomBok? 11.2.2 IntelliJ IDEA安装Lombok插件 11.2.3 如何使用LomBok? 11.3 邮件发送 11.3.1 Spring Boot使用邮件发送 11.3.2 基础配置信息 11.3.3 文本邮件发送 11.3.4 网页邮件发送 11.3.5 附件邮件发送 11.3.6 嵌入静态资源邮件发送 11.4 三“器”使用 11.4.1 过滤器 11.4.2 拦截器 11.4.3 监听器 11.4.4 Spring Boot引用三“器” 11.4.5 测试 11.5 事务使用 11.5.1 事务介绍 11.5.2 项目中使用事务 11.5.3 Spring事务拓展介绍 11.6 统一处理异常 11.6.1 异常介绍 11.6.2 Java异常分类 11.6.3 Spring Boot中统一处理异常 11.7 使用AOP 11.7.1 AOP介绍 11.7.2 Spring Boot使用AOP 11.8 使用validator后台校验 11.9 使用Swagger构建接口文档 11.9.1 什么是Swagger 11.9.2 Swagger2注解介绍 11.9.3 SpringBoot使用Swagger 11.10 使用ApiDoc构建接口文档 11.10.1 如何使用ApiDoc接口文档 11.10.2 ApiDoc常用注解 11.10.3 SpringBoot使用ApiDoc 11.11 小结 第12章 Spring Boot打包部署 12.1 使用IDE启动 12.1.1 运行Spring Boot应用程序 12.1.2 IntelliJ IDEA启动多实例 12.2 使用Maven启动 12.3 Jar形式启动 12.3.1 命令形式将Spring Boot应用程序打成Jar 12.3.2 IntelliJ IDEA打Jar包 12.4 War形式启动 12.4.1 创建项目 12.4.2 打War包部署到Tomcat 12.5 使用Docker构建Spring Boot项目 12.5.1 Docker简介 12.5.2 安装Docker 12.5.3 Dockerfile 12.5.5 运行Docker镜像 12.6 使用Jenkins自动化部署Spring Boot应用 12.6.1 Jenkins简介 12.6.2 SpringBoot应用使用Jenkins 12.7 小结 第13章 Spring Boot实战之博客系统 13.1 博客的制作思路 13.1.1 博客布局介绍 13.1.2 博客功能介绍 13.2 博客模板制作 13.3 效果展示 13.4 依赖配置 13.5 配置文件 13.6 后台实体 13.6.1 文章表 13.6.2 标签表 13.6.3 链接表 13.6.4 消息表 13.6.5 博客访问记录表 13.6.6 博客配置表 13.7 主功能 13.7.1 博客页 13.7.2 搜索页 13.7.3 文章详情页 13.7.4 联系页 13.8 辅助功能 13.8.1 拦截器 13.8.2 定时器 13.8.3 初始化 13.9 小结 第14章 Spring Boot实战之博客后台系统 14.1 博客后台的制作思路 14.1.1 博客后台布局介绍 14.1.2 博客功能介绍 14.2 博客后台模板制作 14.3 效果展示 14.4 依赖配置 14.5 配置文件 14.6 后台实体 14.6.1 用户表 14.6.2 角色表 14.7 主功能 14.7.1 首页 14.7.2 文章管理 14.8 辅助功能 14.8.1 拦截器 14.8.2 定时器 14.8.3 认证和授权 14.8.4 工具类 14.8.5 初始化方法 14.9 小结

3. Expert recommendations

It took me three days to proofread Lao Yang’s book. The book has no nonsense, all from the code case, recorded a variety of pit solutions, is the best practice of Sprimg Boot beginners and core technology consolidation. – mason

It is easier to know than to do. The most difficult part is to share your experience with others, because you need to not only tell the technology itself objectively, but also add your own understanding impartially. You need to have a higher vision and a bigger picture. Among the people I know, there are few people who have rich project experience and are willing to spend time on teaching practice, and finally can systematize various knowledge theories. Teacher Yang Yang happens to have all these qualities. Quickly read the whole book, there is no flowery words between the lines, the words from the practice, let me benefit. — Xie Yue, reader of Zhihu

I got to know Mr. Yang by chance. He has been committed to sharing his practical experience with more people who love technology. Although Spring Boot simplifies configuration, it may cause errors that cannot be captured, and a small pit may make you stuck. Spring Boot is a great mentor for developers. I believe that through the study of Lao Yang’s book, you will make your own architecture all the way xiaoping slope. — Li Ming (Zhuge Arming), public account: Too many programming pits

Nowadays microservices are booming, and Spring Boot is the basic framework for building Spring Cloud buckets. Java developers must be comfortable with Spring Boot. This book is a very comprehensive in-depth analysis of Spring Boot, from the background to detailed use and then to the actual project, linked together, is a rare good book. — Yin Jihuan, author of Spring Cloud Microservices: Full Stack Technology and Case Analysis, and operator of the public account “Ape World”.

This book provides a comprehensive introduction to the use of Spring Boot 2.x technology and a zero-to-one combat tour. This book can help readers quickly start and master the Spring Boot technology, reading this book, the reader must benefit. — Liang Guizhao, co-author of “Thinking on the Server side” and “High Availability Extendable Micro-Service Architecture: Based on Dubbo, Spring Cloud and Service Mesh”

4. Source address

This book for all articles corresponding configuration of the source code, convenient for readers to learn, the source address is: gitee.com/dalaoyang/s…

5. Purchase channels

Now each major e-commerce website has put the book on the shelves, and are spot sale, as to which way to buy, readers can choose, such as the following self-run channels:

  • Purchase address of JINGdong
  • Dangdang Purchase address
  • Tmall purchase address

6. Errata

If there is any mistake in the article, you can leave a comment below this article feedback, you can also add my wechat feedback to me (wechat account dawanzi520), thank you.