Spring Boot 概述
Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。在本教程中,将学习如何使用 Spring Boot 的 starter、特性和可执行 JAR 文件结构,快速创建能直接运行的基于 Spring 的应用程序。
简单介绍 Spring Boot 后,我将引导您设置并运行两个 Spring Boot 应用程序:一个简单的 “Hello, World” 应用程序和一个稍微复杂一点的 Spring MVC RESTful Web 服务应用程序。请注意,我在应用程序示例中使用的是 Spring Boot V1.5.2。推荐您使用 V1.5.2 或更高版本,但这些示例应适用于任何高于 1.5 的版本。
Spring Boot 是什么
Spring Boot 的目的是提供一组工具,以便快速构建容易配置的 Spring 应用程序。
问题:Spring 很难配置!
如果您编写过基于 Spring 的应用程序,就会知道只是完成 “Hello, World” 就需要大量配置工作。这不是一件坏事:Spring 是一个优雅的框架集合,需要小心协调配置才能正确工作。但这种优雅的代价是配置变得很复杂(别跟我提 XML)。
解决方案:Spring Boot
开始介绍 Spring Boot。Spring Boot 官网 对它的介绍比我的简介更为简洁:
Spring Boot 使您能轻松地创建独立的、生产级的、基于 Spring 且能直接运行的应用程序。我们对 Spring 平台和第三方库有自己的看法,所以您从一开始只会遇到极少的麻烦。
基本上讲,这意味着您只需极少的配置,就可以快速获得一个正常运行的 Spring 应用程序。这些极少的配置采用了注释的形式,所以没有 XML。
这一切听起来很不错,对吧?但 Spring Boot 到底是怎么工作的?
首先,它很有主见
Spring Boot 拥有观点。换句话说,Spring Boot 拥有合理的默认值,所以您可以使用这些常用值快速构建应用程序。
例如,Tomcat 是一个非常流行的 Web 容器。默认情况下,Spring Boot Web 应用程序使用了一个嵌入式 Tomcat 容器。
其次,它可以自定义
如果无法改变其想法,具有主见的框架就不是很好的框架。您可以根据自己的喜好轻松地自定义 Spring Boot 应用程序,无论是在进行初始配置时还是在开发周期的后期阶段。
例如,如果喜欢 Maven,可以轻松地在 POM 文件中更改 来替换 Spring Boot 默认值。教程后面会这么做。
开始使用 Spring Boot
Starter
starter 是 Spring Boot 的一个重要组成部分,用于限制您需要执行的手动配置依赖项数量。要想有效地使用 Spring Boot,您应该了解 starter。
starter 实际上是一组依赖项(比如 Maven POM),这些依赖项是 starter 所表示的应用程序类型所独有的。
所有 starter 都使用以下命名约定:spring-boot-starter-XYZ,其中 XYZ 是想要构建的应用程序类型。以下是一些流行的 Spring Boot starter:
- spring-boot-starter-web 用于构建 RESTful Web 服务,它使用 Spring MVC 和 Tomcat 作为嵌入式应用程序容器。
- spring-boot-starter-jersey 是 spring-boot-starter-web 的一个替代,它使用 Apache Jersey 而不是 Spring MVC。
- spring-boot-starter-jdbc 用于建立 JDBC 连接池。它基于 Tomcat 的 JDBC 连接池实现。
Spring Boot starter 参考页面 还列出了其他许多 starter。您可以访问该页面来了解每个 starter 的 POM 和依赖项。
自动配置
如果您允许的话,Spring Boot 会使用其 @EnableAutoConfiguration 注释自动配置您的应用程序。自动配置基于类路径中的 JAR 和定义 bean 的方式:
- Spring Boot 使用您在 CLASSPATH 中指定的 JAR,形成一个有关如何配置某个自动行为的观点。例如,如果类路径中有 H2 数据库 JAR,而且您没有配置任何其他 DataSource bean,您的应用程序会自动配置一个内存型数据库。
- Spring Boot 使用您定义 bean 的方式来确定如何自动配置自身。例如,如果您为 JPA bean 添加了 @Entity 注释,Spring Boot 会自动配置 JPA,这样您就不需要 persistence.xml 文件。
查看配置:使用 –debug 选项启动您的 Spring Boot 应用程序,然后将向控制台生成一个自动配置报告。
转摘地址