要完成我们的应用程序,我们需要创建一个Java文件。默认情况下,Maven从src/main/java目录编译源码,因此您需要创建该目录结构,然后添加一个名为src/main/java/Example.java的文件,其中包含以下代码:

  1. import org.springframework.boot.*;
  2. import org.springframework.boot.autoconfigure.*;
  3. import org.springframework.web.bind.annotation.*;
  4. @RestController
  5. @EnableAutoConfiguration
  6. public class Example {
  7. @RequestMapping("/")
  8. String home() {
  9. return "Hello World!";
  10. }
  11. public static void main(String[] args) {
  12. SpringApplication.run(Example.class, args);
  13. }
  14. }

尽管这里没有太多代码,但正在进行很多工作。我们将在接下来的几节中逐步介绍这些重要部分。

4.3.1 @RestController和@RequestMapping注解

Example类的第一个注解是@RestController。这被称为构造型注释。它为阅读代码的人和Spring提供了提示,提示该类起特定角色。在这种情况下,我们的类是一个web的 @Controller,因此在处理传入Web请求时Spring会考虑使用它。
@RequestMapping注解提供“路由”信息。它告诉Spring任何具有/路径的HTTP请求都应映射到该home方法。@RestController注解告诉Spring将得到的字符串直接返回给调用者。

灯泡.svg@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数组也将传递,来暴露所有命令行参数。