09 ControllerAdvice的使用
发布日期:2022-03-30 20:19:32
浏览次数:30
分类:博客文章
本文共 1502 字,大约阅读时间需要 5 分钟。
ControllerAdvice就是Controller的Advice,即Controller的强化或者横切,说的更确切一些就是其他Controller在执行之前,一定会先执行配置了ControllerAdvice的Controller。它不仅能做异常处理,还能做数据的格式化以及数据绑定。
1、前提约束
- 完成基于注解的springmvc的demo
2、操作步骤
- 在src文件夹下创建net.wanho.controller.TheController.java,内容如下:
@ControllerAdvicepublic class TheController{ @ExceptionHandler(value = ArithmeticException.class) public String exception() { System.out.println("监控所有Controller,任意Controller产生数学异常,都会进到这里"); return "arithmetic"; } @ModelAttribute(value = "message") public String modelAttribute() { return "全局消息,任意Controller都会获取到"; } @InitBinder public void timeFormat(WebDataBinder binder) { System.out.println("所有的Controller的时间格式化都会进到这里处理"); binder.addCustomFormatter(new DateFormatter("yyyy-MM-dd")); }}
在src文件夹下创建net.wanho.controller.TestTheController.java,内容如下:
@Controllerpublic class TestTheController{@RequestMapping("/advice/exception")@ResponseBodypublic String testException(){System.out.println(1/0);return "exception";}@RequestMapping("/advice/modelattribute")
@ResponseBodypublic String testException(@ModelAttribute("message") String message){return message;}@RequestMapping("/advice/timeformat")
@ResponseBodypublic String testException(Date date){return date.toString();}}启动tomcat,在浏览器中分别输入以下url:
测试异常:http://localhost:8080/advice/exception测试数据绑定:http://localhost:8080/advice/modelattribute测试日期格式化:http://localhost:8080/advice/timeformat
以上就是ControllerAdvice横切到任意Controller的使用。
转载地址:https://www.cnblogs.com/alichengxuyuan/p/12554629.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月08日 08时28分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Poj百练 2692:假币问题 (分类:模拟)
2019-04-26
SpringBoot实现一个文件上传服务
2019-04-26
前后分但文件上传与多文件上传,前端实现
2019-04-26
Poj百练 2711:合唱队形 (分类:动态规划)
2019-04-26
SpringBoot自定义banner
2019-04-26
JWT(JSON Web Token)认证小结
2019-04-26
Poj百练 2746:约瑟夫问题 (分类:模拟)
2019-04-26
git知识点梳理
2019-04-26
git中tag标签的用法
2019-04-26
boost::bad_function_call用法的测试程序
2019-04-26
微信公众号介绍_以及注册订阅号---微信公众号开发工作笔记0001
2019-04-26
Vue模板语法---vue工作笔记0003
2019-04-26
Vue计算属性之基本使用---vue工作笔记0004
2019-04-26
Vue监视---vue工作笔记0005
2019-04-26
Vue条件渲染---vue工作笔记0008
2019-04-26
Vue事件处理_vue的事件处理超级方便_功能强大---vue工作笔记0011
2019-04-26
Vue表单数据自动收集---vue工作笔记0012
2019-04-26
Vue生命周期---vue工作笔记0013
2019-04-26