Spring学习经验—@Controller和@RestController
分类:计算机 | Spring | 综合 602
更新:2020-11-24 22:30:57编辑
1 @Controller
SpringMVC采用经典的三层分层控制结构,在持久层,业务层和控制层分别采用@Repository、@Service、@Controller对分层中的类进行注解,而@Component对那些比较中立的类进行注解。
@Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。
@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。
@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模板页面,在方法上加@ResponseBody注解,也可以返回实体对象。
2 @RestController
@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面。
@RestController类中的所有方法只能返回String、Object、json等实体对象,不能跳转到模板页面。
3 参考资料
猿导航
阅读排行榜
- 1three.js加载3D瓦片和3dtiles数据生成交互式地图的开源项目7946
- 2vue和el-table使用经验-如何刷新表格数据7540
- 3uni-app使用经验—vue页面和html页面如何互相调用接口并传参3671
- 4Spring学习经验—@ResponseBody注解的使用说明2197
- 5nuxt.js项目中如何添加和使用全局变量2183
- 6如何用批处理命令(bat脚本)启动和停止windows服务2139
- 7Intellij IDEA下的版本控制VCS的启用与关闭2037
- 8Druid异常解决经验—java.sql.SQLException url not set2014
- 9nuxtjs asyncData使用经验—如何发起多个axios请求并携带参数2002
- 10解决SpringBoot使用maven下载不了jar包的问题1965
- 11mybatis使用经验——mybatis-spring-boot-starter和mybatis的版本对应关系表(持续更新~)1860
- 12在Nuxt.js项目的head中引用外部js文件1780
- 13linux如何成功地离线安装docker1774
- 14Nuxt.js项目实现路由鉴权和用户登录1750
- 15软件项目管理——详细设计说明书模板11718