package com.example.springboot;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
这个类被标记为@RestController,这意味着它可以被Spring MVC用来处理web请求。@RequestMapping将/映射到index()方法。当从浏览器或通过在命令行上使用curl调用时,该方法返回纯文本。这是因为@RestController结合了@Controller和@ResponseBody,这两个注释导致web请求返回数据而不是视图。
@springbootsapplication
@springbootsapplication是一个方便的注释,它添加了以下所有内容:
@Configuration:将类标记为应用程序上下文的bean定义源。
@EnableAutoConfiguration:告诉Spring Boot根据类路径设置、其他bean和各种属性设置开始添加bean。例如,如果spring webmvc位于类路径上,则此注释将应用程序标记为web应用程序并激活关键行为,例如设置DispatcherServlet。
@ComponentScan:告诉Spring在com/example包中查找其他组件、配置和服务,让它找到控制器。
@Service用于标注业务层组件
@Controller用于标注控制层组件
@Resource
@Resource的作用相当于@Autowired
区别:
@RestController
@RestController结合了@Controller和@ResponseBody,这两个注释导致web请求返回数据而不是视图
@RequestMapping
@RequestMapping将/映射到****()方法