Spring Boot是近几年非常流行的微服务框架,相对于其他开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定和健壮。Spring Boot是在Spring框架基础上创建的一个全新的框架,其设计目的是简化Spring应用的搭建和开发过程,使得开发人员不仅能提高开发速度和生产效率,而且能够增强系统的稳定性和扩展性。因此,Spring Boot已经成为Java开发人员的必备技术。
本书是一本突出实战的Spring Boot 2.x专业著作,从零开始,引导读者循序渐进地掌握Spring Boot在Web开发中的各种技术,既注重基础、Spring Boot背后的原理和执行流程,又突出Spring Boot与各种热点技术的整合应用,如Spring Boot集成MyBatis、Active MQ、MongoDB、Redis缓存、Zookeeper、Log4J日志等,此外还介绍了微服务的多环境与部署、微服务的容器化、微服务测试等当前微服务开发中的必备技术。本书最后还给出了一个简易版本的高并发秒杀系统的开发,希望读者通过本项目的实践真正掌握真实项目的开发能力。
本书的大部分内容都来自笔者的开发实践,在讲解上力求通俗易懂,深入浅出,通过完整的项目实例,带领大家一步一步学习Spring Boot。通过实战项目,学习Spring Boot的基础知识、Spring Boot的开发技巧和Spring Boot的技术原理,最终达到融会贯通。
本书共分21章,各章内容概要如下:
第1章介绍了开始学习Spring Boot之前的环境准备,如何1分钟快速搭建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、spring-boot-book-v2项目的服务拆分和实践、正式版API如何发布和服务注册等内容。
第17章主要介绍Spring Boot多环境配置及使用、Spring Boot如何打成war包并部署到外部Tomcat服务器上等。
第18章主要介绍Docker技术以及如何将Spring Boot项目容器化。
第19章主要介绍Spring Boot单元测试、Mockito/PowerMockito测试框架、H2内存型数据库、REST API测试以及性能测试等内容。
第20章主要回顾了DemoApplication入口类注解和run方法的原理,梳理了Spring Boot启动执行的流程和简单分析了spring-boot-starter的起步依赖原理,同时介绍了真实项目中的跨域问题、Spring Boot优雅关闭以及如何将普通Web项目改造成Spring Boot项目等内容。
第21章主要介绍如何使用Spring Boot搭建一个高可用、高性能、高并发的秒杀系统。
Java基础
读者需要掌握J2SE基础知识,这是最基本的,也是最重要的。
Java Web开发技术
在项目实战中需要用到Java Web的相关技术,比如Spring、HTML、Tomcat、MyBatis等技术。
数据库基础
读者需要掌握主流数据库的基本知识,比如MySQL等。掌握基本的SQL语法以及常用数据库的安装。
本书项目实战开发环境为Windows 10,开发工具使用Intellij IDEA 2016.2,JDK使用1.8版本,Tomcat使用8.0版本,Spring Boot使用最新版2.1.6.RELEASE。
本书适合所有Java编程语言开发人员,所有对Spring Boot感兴趣并希望使用Spring Boot开发框架进行开发的人员,缺少Spring Boot项目实战经验以及对Spring Boot内部原理感兴趣的开发人员。
GitHub源代码下载地址:
https://github.com/huangwenyi10/spring-boot-book-v2.git
扫描下述二维码可下载本书视频教学:
如果下载有问题,可发送电子邮件至booksaga@126.com获得帮助,邮件标题为“一步一步学Spring Boot:微服务项目实战(第2版)下载资源”。
本书能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次和大家分享技术、交流学习的机会,感谢王金柱编辑在本书出版过程的辛勤付出。
感谢厦门星耀蓝图科技有限公司,笔者的Spring Boot知识是在贵公司积累沉淀的,书中很多的知识点和项目实战经验都来源于贵公司,感谢公司总经理杨小雄、主管林良昆、架构师高志强、同事陈明元和林腾亚对笔者的关心和帮助。
感谢目前在职的上海美团科技有限公司,感谢公司主管王纪伟、导师叶永林、组长文慧、同事杨伟勤对笔者的栽培与帮助。
感谢笔者的家人和何庆华学长,他们对笔者生活的照顾使得笔者没有后顾之忧,全身心投入到本书的写作当中。
限于水平和写作时间,书中难免存在不足,欢迎广大读者批评指正。
黄文毅
2019年9月25日