Spring中@Controller和@RestController的区别详解

 更新时间:2023年10月19日 10:24:22   作者:yuhuofei2021  
这篇文章主要介绍了Spring中@Controller和@RestController的区别详解,@RestController 是 @Controller 和 @ResponseBody 的结合体,单独使用 @RestController 的效果与 @Controller 和 @ResponseBody 二者同时使用的效果相同,需要的朋友可以参考下

@Controller 和 @RestController

最近遇到注解 @Controller 和 @RestController 在使用上的小问题,记录一下二者的区别。

相同点

都可以用来表示 Spring 的某个类,是否可以接收 HTTP 请求

不同点

@RestController

在这里插入图片描述

  1. 由源码可知,@RestController 是 @Controller 和 @ResponseBody 的结合体,单独使用 @RestController 的效果与 @Controller 和 @ResponseBody 二者同时使用的效果相同
  2. 使用 @RestController 注解标记的类,它里面的所有方法只能返回 String、Object、Json 等实体对象,不能跳转到 jsp 或者 html 等模版页面

@Controller

在这里插入图片描述

  1. 标识一个 Spring 类是 Spring MVC controller处理器
  2. 用注解 @Controller 标记的类,它里面的方法的返回值,会直接被视图解析器解析为页面地址,并跳转到相应的 jsp,html 页面
  3. 在被注解 @Controller 标记的类中,如果某个方法想返回实体对象,那么需要在该方法上,加上 @ResponseBody 注解,如下所示
@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @ResponseBody
    @RequestMapping("/queryAllUser")
    public List<User> queryAllUser() {
        return userService.queryUserList();
    }
}

到此这篇关于Spring中@Controller和@RestController的区别详解的文章就介绍到这了,更多相关@Controller和@RestController的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中List遍历删除元素remove()的方法

    Java中List遍历删除元素remove()的方法

    这篇文章主要介绍了Java中List遍历删除元素remove()的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Spring中的Sentinel规则持久化解析

    Spring中的Sentinel规则持久化解析

    这篇文章主要介绍了Spring中的Sentinel规则持久化解析,具体内容包括,Sentinel规则推送三种模式介绍,原始模式,拉模式,推模式,并对基于Nacos配置中心控制台实现推送进行详尽介绍,需要的朋友可以参考下
    2023-09-09
  • springboot 中异步任务,定时任务,邮件任务详解

    springboot 中异步任务,定时任务,邮件任务详解

    这篇文章主要介绍了springboot 与异步任务,定时任务,邮件任务,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Java顺时针打印矩阵

    Java顺时针打印矩阵

    这篇文章主要为大家详细介绍了Java顺时针打印矩阵,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • mybatis中的mapper.xml使用循环语句

    mybatis中的mapper.xml使用循环语句

    这篇文章主要介绍了mybatis中的mapper.xml使用循环语句,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Spring Boot 整合 Fisco Bcos部署、调用区块链合约的案例

    Spring Boot 整合 Fisco Bcos部署、调用区块链合约的案例

    本篇文章介绍 Spring Boot 整合 Fisco Bcos 的相关技术,最最重要的技术点,部署、调用区块链合约的工程案例,本文通过流程分析给大家介绍的非常详细,需要的朋友参考下吧
    2022-01-01
  • Java读取Properties文件几种方法总结

    Java读取Properties文件几种方法总结

    这篇文章主要介绍了 Java读取Properties文件几种方法总结的相关资料,需要的朋友可以参考下
    2017-04-04
  • 浅谈MySQL中是如何实现事务提交和回滚的

    浅谈MySQL中是如何实现事务提交和回滚的

    本文主要介绍了MySQL中是如何实现事务提交和回滚的,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 如何使用Spring Boot ApplicationRunner解析命令行中的参数

    如何使用Spring Boot ApplicationRunner解析命令行中的参数

    这篇文章主要介绍了使用Spring Boot ApplicationRunner解析命令行中的参数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • MyBatis 与 Spring 的完美整合方法

    MyBatis 与 Spring 的完美整合方法

    MyBatis 和 Spring 两大框架已经成了 Java 互联网技术主流框架组合,它们经受住了大数据量和大批量请求的考验,在互联网系统中得到了广泛的应用。这篇文章主要介绍了MyBatis 与 Spring 整合,需要的朋友可以参考下
    2018-04-04

最新评论