前言
本书目标
欢迎阅读《Spring Boot快速入门》,本书用于帮助有Java编程基础但未学习过Spring Boot的开发者,在2小时之内迅速掌握Spring Boot的基本知识,学习之后可以入手使用Spring Boot 开发Java Web应用程序。
Spring Boot 简介
Spring 框架对于很多 Java 开发人员来说都不陌生。自从2002年发布以来,Spring框架已经成为企业应用开发领域非常流行的基础框架。有大量的企业应用基于Spring框架来开发。Spring框 架包含几十个不同的子项目,涵盖应用开发的不同方面。如此多的子项目和组件,一方面方便了开发人员的使用,另外一个方面也带来了使用方面的问题。每个子项 目都有一定的学习曲线。开发人员需要了解这些子项目和组件的具体细节,才能知道如何把这些子项目整合起来形成一个完整的解决方案。在如何使用这些组件上, 并没有相关的最佳实践提供指导。对于新接触Spring框架的开发人员来说,并不知道如何更好的使用这些组件。Spring框架的另外一个常见问题是要快速创建一个可以运行的应用比较麻烦。
SpringBoot 是 Spring 框架的一个新的子项目,用于创建Spring4.0 项目。它的开发始于2013年。2014年4 月发布1.0.0版本,是 Spring 历史上的一个集大成版。
它可以自动配置 Spring 的各种组件,并不依赖代码生成和XML配置文件,而是推荐用 Java 注解的方式,将程序员从配置的地狱中解脱出来。SpringBoot 也提供了对于常见场景的推荐组件配置,大大提升使用Spring框架时的开发效率。
从 Spring Boot 项目名称中的 Boot 一词可以看出来,Spring Boot 的作用在于创建和启动新的基于Spring框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。Spring Boot 会选择最适合的Spring子项目和第三方开源库进行整合。大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来。
Spring Boot 包含的特性如下:
- 创建可以独立运行的 Spring 应用。
- 直接嵌入Tomcat 或 Jetty 服务器,不需要部署WAR 文件。
- 提供推荐的基础 POM 文件来简化 Apache Maven 配置。
- 尽可能的根据项目依赖来自动配置 Spring 框架。
- 提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
- 没有代码生成,也没有 XML 配置文件
回首我们以前使用 Spring 框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少。然后继续使用tomcat或者jetty作为容器来运行这个工程。基本上每次创建一个新的项目都是这么一个流程,而我们有时候仅仅想快速的创建一个 Spring Web 工程来测试一些东西,或者是希望能节省时间。
Spring Boot 让所有 Spring 开发变得更快,且让更多的人更快的进行Spring 入门体验,它提供 “starter” POM 来简化我们的Maven配置(也就是说使用 Spring Boot 只有配合 Maven / Gradle 等这种依赖管理工具才能发挥它的能力)。以前构建一个Spring Mvc项目需要进行好多配置,而现在用 Spring Boot 简直就是开箱即用,可以非常快速地开始开发,而不会被其他方面影响。
Spring Boot 还提供一些常见的非功能性功能(如内嵌服务器、安全、度量、健康检查、外部化配置),如可以直接地内嵌Tomcat/Jetty(不需要单独去部署war包),绝无代码生成,无须 XML 配置。
适用人群
本书适用于有Java开发基本知识的读者,本书涉及到的Java语法、Maven原理都不会过多介绍,有不清楚的请读者参考其它资源。
主要内容
- 第一章,我们将通过一个Spring Boot版的“Hello, World”程序的讲解,让读者快速了解Spring Boot的基本使用,体验到Spring Boot是如何极大的简介了Java应用程序的开发。
- 第二章,我们将之前的“Hello, Spring Boot”程序升级成Web版,通过Http Restful API来访问服务,让读者了解Spring Web程序的开发方法。
- 第三章,我们对“Hello, Spring Boot”程序继续升级,这次我们添加数据库操作功能,让读取了解了如何在Spring Boot中用JPA技术访问操作。
总结
通过这三章的学习,我们用Spring Boot开发一个微缩版的Java Web应用程序,经历了从前端到后台的一系列开发过程,体验了Spring Boot开发的极简开发风格和编程快感。
Spring Boot 是之前Spring 项目的一个集大成版,不仅极大的简化了Java开发,还集成了非常多的开源项目,可以说是博大精深。但是限于篇幅有限,本书不可能详述所有Spring Boot的技术内容,而仅仅是带大家入门而已。
后续笔者将推出更多 Spring Boot && Spring Cloud 技术干货,敬请大家关注。