1.首先来说@Reference和@Autowired的区别
    
    
    总的来说他们的区别:
    
    @Reference注入的是分布式中的远程服务对象,需要dubbo配置使用
    
    @Resource和@Autowired注入的是本地spring容器中的对象。
   
    
     2.再说说@RestController与@Controller区别
    
    
    @RestController 相当于 @ResposeBody + @Controller 合在一起的作用
    
    1).使用@Controller 注解,
    
    在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
   
    2)@RestController注解
    
    相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
   
   
    3.最后谈谈@ResponseBody与@RequestBody的区别
   
   
   @ResponseBody 作用:@ResponseBody注解用于将Controller的方法返回的对象,通过springmvc提供的HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端。
    @RequestBody
    
    作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为java对象并绑定到Controller方法的参数上。
   
以上是我对这些注解的认识,当然也会有些不足,希望对大家有所帮助!