一些准备工作:
本节介绍如何开发一个简单的“ Hello World!” Web应用程序,该应用程序重点介绍Spring Boot的一些关键功能。我们使用Maven来构建该项目,因为大多数IDE都支持它。
小贴士:spring.io网站包含许多使用Spring Boot的“入门”指南。如果您需要解决特定的问题,请首先检查。通过转到start.spring.io并从依赖项搜索器中选择“ Web”启动器,可以简化以下步骤。这样做会生成一个新的项目结构,以便您可以立即开始编码。查看Spring Initializr文档以获取更多详细信息。
在开始之前,请打开终端并运行以下命令,以确保安装了有效的Java和Maven版本:
$ java -version java version "1.8.0_102" Java(TM) SE Runtime Environment (build 1.8.0_102-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
$ mvn -v Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T14:33:14-04:00) Maven home: /usr/local/Cellar/maven/3.3.9/libexec Java version: 1.8.0_102, vendor: Oracle Corporation
小贴士:该示例需要在其自己的文件夹中创建。随后的说明假定您已经创建了一个合适的文件夹,并且它是当前目录。
1. 创建POM
我们需要先创建一个Maven pom.xml
文件。pom.xml
是用于构建项目的配方。您可以选择自己喜欢的文本编辑器并添加以下内容:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> </parent> <!-- Additional lines to be added here... --> </project>
上面的清单应该为您提供了有效的构建。您可以通过运行mvn package
命令对其进行测试(目前,您可以将“ jar将为空-没有内容标记为包含!”的警告忽略)。
此时,您可以将项目导入IDE(大多数现代Java IDE包含了对Maven的内置支持)。为简单起见,我们在此示例中继续使用纯文本编辑器。
2. 添加类路径依赖
Spring Boot提供了许多“启动器”,使您可以将jar添加到类路径中。我们的示例应用程序已经在POM的parent
部分中使用spring-boot-starter-parent
。spring-boot-starter-parent
是一个特殊的启动器,提供有用的Maven默认值。它还提供了一个dependency-management
部分,以便您可以忽略“blessed”依赖项的version
标签。
其他“启动器”提供了在开发特定类型的应用程序时可能需要的依赖项。由于我们正在开发Web应用程序,因此我们添加了spring-boot-starter-web
依赖项。在此之前,我们可以通过运行以下命令来查看当前的状态:
$ mvn dependency:tree [INFO] com.example:myproject:jar:0.0.1-SNAPSHOT
mvn dependency:tree
命令会将项目依赖关系的树形表示打印出来。您可以看到spring-boot-starter-parent
本身不提供任何依赖关系。要添加必要的依赖关系,请编辑pom.xml
并在 parent
部分的正下方添加spring-boot-starter-web
依赖关系:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
如果再次运行mvn dependency:tree
,则会看到现在还有许多其他依赖项,包括Tomcat Web服务器和Spring Boot本身。
3. 编写代码
要完成我们的应用程序,我们需要创建一个Java文件。默认情况下,Maven通过src/main/java
路径编译源代码,因此您需要创建该文件夹结构,然后在src/main/java
路径下添加一个名为Example.java的文件,包含以下代码:
import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") String home() {