首先贴一下代码
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class DemoApplication {
@RequestMapping("/")
String home(){
return "Hello world";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
运行后,浏览器访问:
上面包含了@RestController 、@RequestMapping、@EnableAutoConfiguration 共三个注解.
示例类的第一个注释是@RestController。这就是所谓的刻板印象注释。它为阅读代码的人提供了提示,这个类在Spring中扮演一个特定的角色。在我们的例子当中,我们的类是一个web @Controller ,所以Spring 在处理Web 请求的时候会考虑到它.
@RequestMapping 提供一个路由的信息。它告诉Spring ,任何的以 / 路径的http请求 会映射到home()方法。@RestController注释告诉Spring将结果字符串直接呈现回调用方。
注意:@RestController和@RequestMapping注释是Spring MVC注释。 (它们不是特定于Spring Boot的。)
第二个类级注释是@EnableAutoConfiguration。这个注释告诉Spring Boot 根据添加的jar依赖项“猜测”如何配置Spring。
由于Spring -boot-starter-web 添加了Tomcat和Spring MVC,自动配置假设您正在开发一个web应用程序并相应地设置Spring 。
自动配置被设计为可以很好地与“Starters”一起工作,但是这两个概念并不直接相关联系在一起。您可以在Starters之外自由地选择jar依赖项。Spring Boot 仍然尽最大努力自动配置您的应用程序。
Spring Boot github 地址: https://github.com/spring-projects/spring-boot