要完成我们的应用程序,我们需要创建一个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() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
尽管这里没有太多代码,但正在进行很多工作。我们将在接下来的几节中逐步介绍这些重要部分。
4.3.1 @RestController和@RequestMapping注解
Example
类的第一个注解是@RestController
。这被称为构造型注释。它为阅读代码的人和Spring提供了提示,提示该类起特定角色。在这种情况下,我们的类是一个web的 @Controller
,因此在处理传入Web请求时Spring会考虑使用它。@RequestMapping
注解提供“路由”信息。它告诉Spring任何具有/
路径的HTTP请求都应映射到该home
方法。@RestController
注解告诉Spring将得到的字符串直接返回给调用者。
在
@RestController
与@RequestMapping
注解是Spring MVC的注解(他们并不是专门针对Spring Boot的)。有关更多详细信息,请参见Spring参考文档中的MVC章节。
4.3.2 @EnableAutoConfiguration注解
第二个类级别的注释是@EnableAutoConfiguration
。这个注释告诉Spring Boot根据添加的jar依赖关系“猜测”您如何配置Spring。由于spring-boot-starter-web
添加了Tomcat和Spring MVC,因此自动配置(自动装配)假定您正在开发Web应用程序并相应地设置Spring。
启动器和自动装配 自动装配旨在与“启动器”配合使用,但是这两个概念并没有直接联系在一起。您可以在启动器以外自由选择jar依赖项。Spring Boot仍然尽其最大努力来自动配置您的应用程序。
4.3.3 “main”方法
我们应用程序的最后一部分是main
方法。这是遵循Java约定的应用程序入口点的标准方法。我们的main方法通过调用run
委托给Spring Boot的SpringApplication
类。 SpringApplication
引导我们的应用程序,启动Spring,这反过来又启动了自动配置的Tomcat Web服务器。我们需要将Example.class
作为参数传递给run
方法,来告诉SpringApplication
哪个是主要的Spring组件。args
数组也将传递,来暴露所有命令行参数。