这将是更侧重于介绍Spring Boot的短文,我们将讨论“什么是Spring Boot”? 以及Spring Boot如何帮助构建基于Java的企业应用程序。
作为一名Java开发人员,我们很可能已经直接或间接地在工作中使用基于Spring Framework的应用程序。 Spring 有许多方法来配置它的行为,它提供三种方式进行配置,基于XML的配置或基于注解的配置,以及基于Java的配置,而基于Java的配置正在成为新的Spring应用程序的事实标准。尽管这些选项看起来非常好,但大型企业应用程序涉及数百个模块和复杂的业务规则,但这些配置可能会变得非常复杂。 以下是大型应用程序可以带来的一些复杂情况。
以上所有问题或多或少都与确保我们拥有一切,然后开发团队才能开始处理实际任务有关。 现在让我们来谈谈另一个情况,我们用它来处理任何基于Spring的应用程序。假设我们要创建一个基于Web的应用程序,下面是我们大多数人常用的常用步骤:
上面的列表可以根据我们的应用程序的类型显着增长。
以上所有步骤对我们来说都很重要,但是它们给开发团队增加了很多开销,而不是专注于解决实际的业务问题,最初的时间将被消耗在确保一切都就位后才开始实际的工作。我们可以将Spring Boot视为可以自动完成这些初始任务的工具。Spring Boot对我们所使用的Spring平台有自己的视角,并确保团队可以快速开始解决实际业务问题,而不是花时间在初始配置和设置上。
Spring Boot提供以下开箱即用的功能:
使用Spring Boot,可以轻松管理和处理介绍部分突出显示的问题。在升级过程中,我们不需要手动搜索兼容的jar包,Spring Bug将确保我们的应用程序升级到正确的版本(这称为麻烦最小化开发应用程序)。
让我们来看看我们的Web应用程序的一个示例pom.xml,以了解Spring Boot例子程序的配置。
<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.javadevjournal.demo</groupId> <artifactId>sample web application</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.7.RELEASE</version> </parent> <name>rWeb Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> </dependencies> </project>
请看/
只要仔细检查配置,你不会找到所有这些Spring依赖项的条目(如web MVC,核心,AOP,ORM,验证API等等),你可能已经注意到类似的条目spring-boot-starter- *,这是Spring Boot依赖管理过程。 我们在我们的pom.xml中添加了spring-boot-starter-web,Spring Boot将拉取所有为Spring MVC应用程序必需的依赖(不再需要手动配置)。
自动配置是Spring Boot的另一个有趣功能,这就是为什么Spring Boot团队认为它有意思的地方。以下是Spring Boot为你做的一些工作:
请阅读这篇 文章 以更加深入地理解 Spring boot的自动配置
每当我们做出那些小的改变,并且需要将你的应用程序部署到应用服务器来测试我们的改变时,你是否记得在Servlet容器(Tomcat等)上部署它们的过程?Spring Boot提供对嵌入式Servlet容器的支持,我们不再需要在应用服务器上部署我们的应用程序(这可以使用标准main方法轻松运行),同时我们可以使用http:///
我们的pom.xml中的Spring-boot-starter-web配置条目将为我们的Web应用程序提供嵌入式servlet容器,Apache Tomcat是Spring Boot提供的默认servlet容器,然而,Spring boot也提供了使用其他servlet容器的方法(我们所要做的就是将相应的 starter 添加到pom.xml中)。
请阅读我们的文章 使用Spring Boot构建应用程序 来开始使用Spring Boot构建你的应用程序。