前言
距离作者上一本书的发行,又过去了两年。在这两年中,计算机技术、互联网技术高速发展,尤其计算机开发语言发展之快,让人应接不暇。虽然开发人员选择余地变大,但同时陷于各种技术的比较,而无法沉下心来提高技术。作者从事计算机行业多年,热衷于用各种编程语言开发应用系统、App等,但Java编程语言一直具有很大的吸引力,让人一旦用上,就无法放下。
查看每年计算机编程语言在全世界的应用排行,Java始终是最流行的语言之一,很欣慰,我一直在使用,当你在看本书时,恭喜你也加入了最大的编程语言阵营。世界上很多大公司都在使用Java,我的周围有80%的人和公司也在使用Java开发应用系统、框架和平台等。Java如此受欢迎,主要归功于其可移植性强、可扩展性灵活、可用插件和开源框架丰富,以及用户社区庞大。
作者在编写本书之前,一直用Spring Boot 2开发应用系统,惊讶于其开发如此便捷,可能只需简单单击鼠标,便可以使其运行起来。Spring Boot 2是当前Java开发中比较流行的框架,其是Spring框架的扩展,目标是快速、高效开发基于Java的应用系统,方式是约定大于配置。
本书和作者上一本书最大的区别便是本书使用了当前最新的技术,应用Maven技术简化Jar包管理,使得Spring Boot 2的开发变得更加简单。基于此,本书能提供更多示例。
当今,Java开发已变得令人烦躁,开发人员不想再局限于传统式开发,即编写一大堆配置文件,手动管理Jar包依赖,以及在开发中不停重新启动应用进行代码调试。在没有使用Jar包管理工具前,找到Jar包依赖是一件很痛苦的事,特别是想升级依赖Jar包时,更是如此;在开发之初,为了启动应用,需要先进行各种配置,可能会产生各种错误,解决这些问题也是很痛苦的事。现在提倡敏捷开发,所见即所得,让开发变成一件快乐的事。Spring Boot 2便是这样一个框架,不失其优雅性、敏捷性,开发人员利用它可以快速开发一个应用、模块或功能,并实现快速部署。
本书立足Spring Boot 2框架的实战操作,以作者多年的经验告诉大家,实际操作是掌握编程语言、框架的最佳方法。至少作者本人认为如此。本书通俗易懂,尽量抛开复杂而不易懂的理论,立足实战。本书已涉及Spring Boot 2中多方面,知识点很多,并提供详细案例,目的在于使读者通过本书的学习,快速掌握这个框架,应用于实际项目。
本书共包含13章,各章主要内容如下:
第1章是本书的基础,介绍Spring、Spring Boot 2、示例对比,以及开发Spring Boot 2的工具。目的在于使读者快速对Spring Boot 2形成一个基本概念,并提高对开发的兴趣。
第2章介绍Spring Boot 2相关的重要基础知识,主要是一个完整的生命周期,即创建、启动、配置、运行、打包等,使读者从整体上掌握Spring Boot 2的开发流程。
第3章介绍Spring Boot 2中的页面处理技术,其不局限于某一种具体页面的处理方式和方法,而是提供了一种灵活的方式,允许开发人员根据需要进行选择。本章也是如此,不聚焦于某一种具体技术,而是介绍了几种当前主流的页面处理技术。在实际开发中,开发人员可以根据需要进行灵活选择。
第4章介绍数据操作中的Spring JDBC方式,数据操作是应用系统中的重要部分。本章有两个知识点。第一个知识点是内存数据库H2,这是贯穿本书的重要数据库。其重要体现在两方面:一是可以在不做任何配置和安装的情况下,启动内存数据库H2进行代码开发;二是H2数据库在测试中占有很重要的地位。所以,本书介绍一些知识点时,都使用数据库H2进行讲解。本章第二个知识点是Spring JDBC操作数据库,这是Spring提供的一种重要的操作关系数据库的方式。
第5章介绍数据操作中的Spring Data JPA技术。Spring Data意在统一访问数据接口,Spring Data JPA加快访问数据的开发,本章详细介绍这种技术,从简单操作到复杂自定义操作多种方式。
第6章介绍数据操作中的MyBatis技术。MyBatis数据访问框架更接近于原生SQL访问关系数据库,更加适合喜欢SQL的开发人员,本章介绍MyBatis基本使用方法、高级使用技术以及其支持的注解方式。
第7章介绍Spring Boot 2中连接多种关系数据库的方法。结合前面第4~6章介绍的关系数据操作方法,开发人员可以轻松操作多种数据库。
第8章介绍Spring Boot 2中连接和操作非关系数据库MongoDB的技术。MongoDB是目前应用较广的非关系数据库,特别适合当前互联网上大数据的应用。通过本章的学习,开发人员可以掌握Spring Boot 2中操作MongoDB的方法。
第9章介绍Spring Boot 2中的MVC模式。利用当前流行的MVC开发模式,可以快速开发出Spring MVC应用。本章知识比较综合,须结合前面章节介绍的页面处理技术和数据库操作技术。
第10章介绍Spring Boot 2中的RESTful操作。目前互联网流行前后端分离开发,便于团队中的开发人员发挥各自所长。本章介绍了RESTful开发方法和建议的RESTful开发规范。
第11章介绍Spring Boot 2中的安全认证。简单理解就是任何一个互联网应用都需要用户登录后才能操作,Spring Boot 2中提供了安全认证方式和方法。本章详细介绍该技术和应用,便于开发人员进行选择。
第12章介绍Spring Boot 2中的测试方法,测试是开发中的重要一环。Spring Boot 2可以很好地结合当前主流测试框架JUnit进行测试工作。本章详细介绍Spring Boot 2中结合JUnit 5的测试方法。
第13章介绍Spring Boot 2中其他几个重要的方法,包括上传文件、Lombok应用、Devtools应用、更改应用启动标志和缓存的应用。这几个方法在实际开发中都很有帮助,本章将其整合在一起进行介绍。
本书内容涉及Spring Boot 2中很多重要的方面,也是开发人员在实际开发中经常遇到的。因本书内容侧重于实践,且对开发具有参考价值,故本书取名“实战”。
在本书的编写过程中,Spring Boot 2版本更新很快,在成稿之前,作者已将本书所有源码中Spring Boot 2版本统一更新至2.2.6,并进行了相关调试,书中相关内容同步进行了替换。
本书得以快速完成,要感谢家人在我写本书时给予的无私支持,同时感谢同事提供的有力帮助。
作者
2023年5月