前言
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是简化新Spring应用的初始搭建以及开发过程。在Java开发领域中,有很多著名框架都是Pivotal团队的产品,如:Spring框架及其衍生框架、缓存Redis、消息队列框架RabbitMQ、Greenplum数据库等。还有Tomcat、Apache Http Server、Groovy里的一些顶级开发者、DevOps理论的提出者都属于Pivotal团队。Spring团队在现有Spring框架的基础上,开发了一个新框架:Spring Boot,用来简化配置和部署Spring应用程序的过程,去除了那些烦琐的开发步骤和样板代码及其配置,使得基于Spring框架的Java企业级应用开发“极简化”。相比于传统的Spring/Spring MVC框架的企业级应用开发(Spring的各种配置太复杂了,我们之前是用“生命”在搞这些配置), Spring Boot用简单的注解和application.properties配置文件,避免了烦琐而且容易出错的XML配置文件,极大地简化了基于Spring框架的企业级应用开发的配置。
Kotlin是由JetBrains团队开发的多平台、静态类型、强工程实用性的编程语言,Kotlin 100%兼容Java,比Java更强大、更安全、更简洁、更优雅。Kotlin是Google公司的Android官方支持的开发语言。Spring官方也正式支持Kotlin语言,Spring Boot 2.0版本中为Kotlin提供了一流的支持。其实,在Spring Boot 2.0和Spring 5.0框架源代码中,已经可以看到Kotlin代码。
本书可以说是我对使用Spring Boot + Kotlin进行服务端开发的实战和思考过程的粗浅总结。通过本书的写作,加深了我对Spring Boot框架和Kotlin编程语言的理解,我深刻体会到了学无止境的含义。写书的过程也是我系统学习与思考的过程,如果本书能够对你有所帮助,将不胜欣慰。
如何阅读本书
本书系统介绍了使用Spring Boot 2.0框架,并基于Gradle + Kotlin来开发企业级应用。希望通过简练的表述,系统全面地介绍如何使用Spring Boot 2.0框架开发项目,每章的关联度不大,读者可根据自己的需求阅读本书。
全书共分三大部分:
❑第I部分Spring Boot框架基础(第1~3章)
❑第Ⅱ部分Spring Boot项目综合实战(第4~17章)
❑第Ⅲ部分 Spring Boot系统监控、测试与运维(第18~20章)
建议初学者最好按照章节顺序来阅读本书。如果想直接使用Spring Boot框架进行项目的实战,可以直接进入第Ⅱ部分,如果对Spring Boot应用的监控、测试与运维感兴趣,那么可以从第Ⅲ部分直接开始阅读。
本书共20章,各个章节内容简介如下。
第1章:简单介绍了Spring Boot框架的历史、组成、特性等。
第2章:使用Spring Boot 2.0快速实现一个基于Kotlin和Gradle的HelloWorld应用。
第3章:介绍Spring Boot是怎样通过自动配置实现“极简化配置”的应用开发。
第4章:介绍如何使用Spring Boot集成MyBatis来进行数据库层开发。
第5章:介绍如何使用Spring Boot集成Spring Data JPA来进行数据库层开发。
第6章:介绍如何开发一个Gradle插件,以及如何简化开发过程中样板代码的编写。
第7章:介绍Kotlin编程语言,以及如何集成Spring Boot和Spring MVC进行服务端开发。
第8章:介绍在Spring Boot项目中怎样自定义Web MVC配置。
第9章:介绍基于Spring Boot + Spring MVC,使用AOP + Filter如何实现一个简单的用户登录鉴权与权限控制系统。
第10章:介绍如何使用Spring Boot集成Spring Security开发一个自动化测试平台。
第11章:介绍Spring Boot集成React.js开发前后端分离项目的实战案例。
第12章:介绍如何开发任务调度、邮件服务等系统功能。
第13章:介绍如何用Spring Boot集成WebFlux开发响应式Web应用。
第14章:介绍在Spring Boot项目开发中怎样使用Spring Cache实现数据的缓存。
第15章:介绍如何使用Spring Session集成Redis实现Session共享,从而实现水平扩展。
第16章:介绍如何使用Netflix Zuul实现一个微服务API Gateway来完成简单代理转发和过滤器功能。
第17章:详细介绍Spring Boot应用的日志配置与使用,主要介绍Logback日志框架。
第18章:介绍如何使用Spring Boot Actuator和Spring Boot Admin实现监控与管理。
第19章:介绍Spring Boot应用的测试,以及如何在实际项目中进行分层测试。
第20章:介绍如何使用Docker来构建部署运行Spring Boot应用。
谁适合阅读本书
本书适合于所有Java、Kotlin程序员,以及任何对编程感兴趣的朋友。如果你目前还不是程序员,但想进入企业级应用开发的编程世界,那么你也可以尝试从本书开始学习。
虽然书中的部分内容需要一定的Java和Kotlin编程基础,还需要了解Spring框架,但是如果你想快速开始企业级应用开发,不妨从这里开始——Spring Boot 2.0 + Kotlin,这种方式的极简特性定能激发你对编程的兴趣。
代码下载
每章末尾基本上都附了该章示例工程源代码地址。这些源码都在https://github.com/Easy-SpringBoot.可以根据需要,自由克隆下载学习。
致谢
在本书的写作出版过程中,得到了很多人的帮助和陪伴。首先要感谢的是我的妻子和两个可爱的孩子。正是有了你们的陪伴,我的生活才更加有意义。我始终感谢我的父母,虽然你们可能不知道我写的东西是什么,但是因为有了你们的辛勤养育,我才能长成今天的我。我要衷心地感谢吴怡编辑。在本书的写作修改过程中,她耐心细致地对稿件进行了详尽、细致的审阅和批注,还提出了很多宝贵的修改建议。感谢本书出版过程中所有付出辛勤劳动的工作人员。我还要感谢在我的工作学习生活中认识的,所有朋友和同事们,能够认识你们并跟你们一起学习共事,是我的荣幸。
请联系我
虽然在本书写作与修改的过程中,我竭尽全力追求简单正确、清晰流畅地表达内容,但是限于自身水平和有限的时间,也许仍有错误与疏漏之处,还望各位读者不吝指正。
关于本书的任何问题、意见或者建议都可以通过邮件universsky@163.com与我交流。
快乐生活,快乐学习,快乐分享,快乐实践出真知。
最后,祝大家阅读愉快!
陈光剑
2018年4月于杭州