11.3 Writing the Code
为了完成我们的程序,我们需要创建独立的Java文件.默认情况下,Maven编译src/main/java
文件下的源代码,因为你需要创建src/main/java
文件夹并增加名为Example.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) throws Exception {
SpringApplication.run(Example.class, args);
}
}
尽管上述文件未包含大量代码,但是有很多事情正在发生. 后续的章节我们将逐句讲解通过重要部分.
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.
Starter and Auto-Configuration
自动配置能与"Starter"配合很好的工作,但是这两者不存在直接的联系.你完全可以自由选择jar包依赖而不是配置starter依赖.Spring Boot仍然可以自动配置你的应用.
The “main” Method
我们的程序最后部分为main
方法.此方法就是一个遵循Java约定的标准方法,作为程序的入口点.我们的主程序代理Spring Boot的SpringApplication
类并通过调用run.SpringApplication
引导我们的应用,启动Spring同时自动配置Tomcatweb服务器.
我们必须把Example.class
作为参数传递给run
方法来告知SpringApplication
该参数为Spring的主件.args
数组同样也可以接受任何命令行参数.