@Controller注解和@RestController注解的用法和区别

在Spring中,很多注解在用法上是相似的,也有很多的注解命名上很相似,稍不注意就会让人误用,今天就给大家说一下@Controller注解和@RestController这两个注解的用法和区别。
首先,这两个注解的使用位置上都是用在Controller层,作用是用来标注Controller层的组件。相当于Struts中的Action。当然,在作用上,还有@Component,@Respository和@Service这几个注解,他们在应用中是等效,当然,在以后的发展与Spring的版本更新中可能会有区别,这一点暂且不说。
对于今天的重点,@Controller和@RestController的区别,其实@RestController的作用相当与@Controller注解和@ResponseBody注解的同时使用的作用,倘若我们只是使用@RestController注解Controller,则controller中的方法无法返回jsp页面配置的试图解析器。当返回的是对象的时候,通过适应的HttpMessageContext转化为指定格式后,写入到Response对象的Body的数据区中进行返回

你可能感兴趣的:(@Controller注解和@RestController注解的用法和区别)