Spring Boot学习之三(Controller注解)
1.@Controller注解:声明某个类的实例是一个控制器
2.@RequestMapping:将请求与处理方法对应
1)方法级别注解
@RequestMapping("/")
@ResponseBody
public String index(){
return "Hello spring boot";
}
@RequestMapping(value = "/test1")
public String test1(){
return "Test1";
}
上例中两个注解语句,都作用在处理方法上,注解的value属性将请求URL映射到方法。value属性是RequestMapping注解的默认属性,如果只有一个value属性,则可省略该属性。
2)类级别注解
@Controller
@ResponseBody
@RequestMapping("/test")
public class MyTest {
@RequestMapping(value = "/test1")
public String test1(){
return "Test1";
}
}
在类级别注解的情况下,控制器类中的所有方法都将映射为类级别的请求。访问时,输入以下请求
http://localhost:8080/test/test1
3.@Restcontroller
Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。
即@RestController是@ResponseBody和@Controller的组合注解。
4.@ResponseBody
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。