使用Spring Tool Suite(STS)的Spring Boot示例
在本教程中,我们将介绍如何使用Spring Tool Suite(STS)创建Spring Boot Hello World Web应用程序。
创建一个新的Spring Boot项目
在STS中,选择File – New – Spring starter项目。在打开的" New Spring Starter项目"对话框中,为项目提供一个名称。在示例中,它被命名为" HelloWorld"。选择type作为Maven,以便将Maven用作项目的构建工具。打包为" jar",语言打包为" Java"以及Java版本。
还提供Group和Artifact,其中Group ID成为程序包名称,Artifact ID是我们在构建项目时获得的jar的名称。
点击下一步。
在" New Spring Starter项目依赖项"窗口中,我们需要提供项目所需的依赖项。
设置Spring Boot版本为预填充值。
由于它是一个Web应用程序,因此我们需要" Spring Web"依赖项。在搜索框中,输入" web"以过滤依赖关系。选中Spring web复选框。
单击完成。 STS将创建项目结构,并将下载所需的依赖项。
了解添加的入门
打开创建的pom.xml,以了解为项目添加的依赖项。
在POM的父部分中添加的第一个启动器是特殊的启动器spring-boot-starter-parent,它提供有用的Maven默认值。该父级启动器还提供了一个依赖项管理部分,因此我们无需提供依赖项的版本标签。
每个Spring Boot版本都提供了它所支持的依赖关系的精选列表。我们无需在构建配置中为所有这些依赖项提供版本,因为Spring Boot会为我们管理版本。请注意,我们仍然可以指定版本,并在需要时覆盖Spring Boot的建议。
在我们的配置中,Spring Boot版本为2.2.2,因此Spring Boot获得了支持该版本的依赖项。
由于我们正在开发Web应用程序并选择" Spring Web"作为依赖项,因此添加了spring-boot-starter-web依赖项。这个Spring引导启动器添加了创建Spring Web应用程序所需的必需依赖项。
第三重要的是spring-boot-maven-plugin。该插件提供了许多方便的功能
- 它有助于创建可执行jar(über-jar),从而使执行和传输服务更加方便。
- 它还搜索公共static void main()方法,以将具有此方法的类标记为可运行类。
通过添加这些依赖项,Spring Boot可以确保获得所需的jar依赖项,即使是嵌入式Web服务器(在本例中为Tomcat),也取决于起始Web依赖项。
Web应用程序类
我们将为我们的网络应用程序添加一个简单的网络控制器。 Maven从src / main / java编译源代码,因此在该位置创建一个包" com.theitroad.helloworld.controller",并在该包中添加新类。
package com.theitroad.helloworld.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { @GetMapping(value="/{name}") public String showGreeting(@PathVariable("name") String name) { return "Hello " + name; } }
该类使用@RestController注释进行注释,该注释告诉Spring该类已准备就绪,可以由Spring MVC使用来处理Web请求,并且它指示结果字符串应直接写入响应主体中,我们不想呈现视图。
在方法级别,使用@GetMapping注释,这是@RequestMapping的快捷方式(方法= RequestMethod.GET)。该注释提供路由信息。它告诉Spring任何具有/ {name)路径的HTTP请求都应映射到showGreeting方法。
@PathVariable注释使我们可以从请求路径中检索参数。
具有主方法的应用程序类
我们可能已经注意到,会自动创建一个应用程序类" HelloWorldApplication.java"。
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class HelloWorldApplication { public static void main(String[] args) { SpringApplication.run(HelloWorldApplication.class, args); } }
@SpringBootApplication是一个方便注释,它添加了以下所有注释
1 @ Configuration注释将类标记为应用程序上下文的Bean定义的源。
2 @ EnableAutoConfiguration告诉Spring Boot启用自动配置,以便基于类路径设置,其他bean和各种属性设置自动创建bean。例如,starter spring-boot-starter-web添加了Tomcat和Spring MVC,因此自动配置假定我们正在开发Web应用程序并相应地设置Spring,其中包括设置DispatcherServlet。
3 @ ComponentScan告诉Spring递归查找此包中的其他组件,配置和服务,并注册它们。
主要方法是应用程序入口点,该入口点通过调用run委托给Spring Boot的SpringApplication类。 SpringApplication引导此HelloWorld应用程序启动Spring,从而启动嵌入式Tomcat Web服务器。我们需要将HelloWorldApplication.class作为参数传递给run方法,以告诉SpringApplication哪个是主要的Spring组件。
运行应用程序
我们可以将此Spring Boot Hello World应用程序作为独立的Java应用程序运行,也可以创建可执行jar。
1通过使用Eclipse IDE本身的main方法(HelloWorldApplication.java)运行类,可以将其作为独立的Java应用程序运行。
右键单击HelloWorldApplication.java –运行方式– Spring Boot应用
从控制台的输出中,我们可以看到已配置了Web服务器,已初始化WebApplicationContext,已部署应用程序,并且所有这些操作都是自动完成的。
我们可以通过访问URLhttp:// localhost:8080 / theitroad来访问应用程序
/ theitroad是name参数的值。
2dependency spring-boot-starter-parent还提供了一个运行目标,我们可以用来启动应用程序。从根项目目录键入mvn spring-boot:run以启动应用程序。
3我们还可以创建一个自包含的可执行jar文件,以从命令行运行mvn软件包。运行命令时,请确保我们位于根项目目录中。
F:\theitroad\STS Workspace\HelloWorld>mvn package
如果命令成功运行,则应在目标文件夹中创建jar。
[INFO]构建jar:F:\ theitroad \ STS Workspace \ HelloWorld \ target \ HelloWorld-0.0.1-SNAPSHOT.jar
要使用创建的jar运行应用程序,请使用java -jar命令,如下所示:
java -jar target\HelloWorld-0.0.1-SNAPSHOT.jar