理解Spring4.0新特性@RestController注解
来源:互联网 发布:大麦盒子用什么网络 编辑:程序博客网 时间:2024/05/17 08:51
前两天学习微框架Spring Boot时候在定义Controller类的时候习惯性的使用了@Controller此时发现无论怎么访问都访问不了,此时将@Controller改为@RestController便一切正常了。当时为了搞懂这两个注解查询了相关的资料,现在记录一下。
@RestController注解是它继承自@Controller注解。4.0之前的版本,spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet。
使用这个特性,我们可以开发REST服务的时候不需要使用@Controller而专门的@RestController。
当你实现一个RESTful web services的时候,response将一直通过response body发送。为了简化开发,Spring 4.0提供了一个专门版本的controller。下面我们来看看@RestController实现的定义:
@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Controller @ResponseBody public @interface RestController
Spring的官方文档解释如下:
A convenience annotation that is itself annotated with @Controller and @ResponseBody. Types that carry this annotation are treated as controllers where @RequestMapping methods assume @ResponseBody semantics by default. 注解本身使用@Controller和@ResponseBody注解。使用了这个注解的类会被看作一个controller-使用@RequestMapping的方法有一个默认的@ResponseBody注解。 @ResponseBody – As of version 4.0 this annotation can also be added on the type level in which case is inherited and does not need to be added on the method level. @ResponseBody也可以加到类一级,通过继承方法一级不需要添加。
为了更加了解@RestController注解先了解一下@ResponseBody注解:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
当我们在Controller上标注了@RestController,这样相当于Controller的所有方法都标注了@ResponseBody
1 2
- 理解Spring4.0新特性@RestController注解
- 理解Spring4.0新特性@RestController注解
- spring4.0 新特性
- spring4.0新特性综述
- 1. Spring4.0新特性
- 3. Spring4.0之@RestController
- Spring4.0系列3-@RestController
- Spring4新特性:
- spring4.0.3 新特性
- 【笔记】Spring4 新特性
- Spring4.2新特性
- 【Java】Spring4.0 @RestController与@Controller
- Spring4新特性——注解、脚本、任务、MVC等其他特性改进
- Spring4新特性——注解、脚本、任务、MVC等其他特性改进
- Spring4.2新特性(一)
- Spring4.0新特性--泛型依赖注入
- Spring4.0之后的新特性--泛型依赖注入
- Spring4.0 RestController Rest风格请求参数详解
- AsyncTask params java.lang.ArrayIndexOutOfBoundsException: length=0; index=0异常
- 数据库连接池 C3P0
- crontab定时运行脚本(linux下)
- Java For循環的幾種用法
- 生成窗口最大值数组
- 理解Spring4.0新特性@RestController注解
- 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群
- WinSCP 5.6版本中文目录乱码问题解决方案
- Android APP增量升级及插件化实现方式
- OSSIM入门 最新课程 (时长5小时20分)
- Leetcode 171. Excel Sheet Column Number
- 策略模式
- 度量快速开发平台网格勾选行(标识行),多选行获取方法
- 浅析Java中的XML