11.3 Writing the Code

为了完成我们的程序,我们需要创建独立的Java文件.默认情况下,Maven编译src/main/java文件下的源代码,因为你需要创建src/main/java文件夹并增加名为Example.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) throws Exception {
  12. SpringApplication.run(Example.class, args);
  13. }
  14. }

尽管上述文件未包含大量代码,但是有很多事情正在发生. 后续的章节我们将逐句讲解通过重要部分.

The @RestController and @RequestMapping Annotation

在我们的Example类文件中第一个注解是@RestController.这被称为组合注解. 该注解为阅读代码的人提供提示表明该类起到特殊的作用.在此情况下, 我们类是一个Web @Controller, 因此Spring可用此类来处理web请求. @RequestMapping注解提供路由信息.它会告知Spring任何带/路经的HTTP请求映射到home方法.@RestController注解告知Spring直接返回字符串响应请求.

Tip

@RestController@RequestMapping都是SpringMVC的注解(他们不是专为Spring Boot设计的). 具体信息请参考Spring参考指南的MVC Section章节.

The @EnableAutoConfiguration Annotation

第二个类注解为@EnableAutoConfiguration. 该注解会告知Spring Boot根据你项目添加的jar包依赖来推断你想如何配置Spring.因spring-boot-starter-web增加了Tomcat和Spring MVC依赖,自动配置就会推断出你目前正在开发web应用并以此配置Spring.

  1. Starter and Auto-Configuration
  2. 自动配置能与"Starter"配合很好的工作,但是这两者不存在直接的联系.你完全可以自由选择jar包依赖而不是配置starter依赖.Spring Boot仍然可以自动配置你的应用.

The “main” Method

我们的程序最后部分为main方法.此方法就是一个遵循Java约定的标准方法,作为程序的入口点.我们的主程序代理Spring Boot的SpringApplication类并通过调用run.SpringApplication引导我们的应用,启动Spring同时自动配置Tomcatweb服务器. 我们必须把Example.class作为参数传递给run方法来告知SpringApplication该参数为Spring的主件.args数组同样也可以接受任何命令行参数.