首页 > 其他分享 >@ControllerAdvice 的介绍及三种用法

@ControllerAdvice 的介绍及三种用法

时间:2024-04-06 13:34:09浏览次数:452  
标签:ControllerAdvice 用法 Controller 三种 pkg 注解 org my

浅析@ControllerAdvice

首先,ControllerAdvice本质上是一个Component,因此也会被当成组建扫描,一视同仁,扫扫扫。

 

然后,我们来看一下此类的注释:

这个类是为那些声明了(@ExceptionHandler、@InitBinder 或 @ModelAttribute注解修饰的)方法的类而提供的专业化的@Component , 以供多个 Controller类所共享。

说白了,就是aop思想的一种实现,你告诉我需要拦截规则,我帮你把他们拦下来,具体你想做更细致的拦截筛选和拦截之后的处理,你自己通过@ExceptionHandler、@InitBinder 或 @ModelAttribute这三个注解以及被其注解的方法来自定义

初定义拦截规则:

ControllerAdvice 提供了多种指定Advice规则的定义方式,默认什么都不写,则是Advice所有Controller,当然你也可以通过下列的方式指定规则
比如对于 String[] value() default {} , 写成@ControllerAdvice("org.my.pkg") 或者 @ControllerAdvice(basePackages="org.my.pkg"), 则匹配org.my.pkg包及其子包下的所有Controller,当然也可以用数组的形式指定,如:@ControllerAdvice(basePackages={"org.my.pkg", "org.my.other.pkg"}), 也可以通过指定注解来匹配,比如我自定了一个 @CustomAnnotation 注解,我想匹配所有被这个注解修饰的 Controller, 可以这么写:@ControllerAdvice(annotations={CustomAnnotation.class})

还有很多用法,这里就不全部罗列了。

详细例子 内容见:https://blog.csdn.net/qq_36829919/article/details/101210250

 

 

标签:ControllerAdvice,用法,Controller,三种,pkg,注解,org,my
From: https://www.cnblogs.com/isme-zjh/p/18117358

相关文章

  • 蓝桥杯备考随手记: 常用的三种排序算法(冒泡排序、插入排序、选择排序)
    1.冒泡排序(BubbleSort)冒泡排序是一种简单直观的排序算法,在待排序序列中不断地交换相邻两个元素的位置,通过多次遍历,将最大(或最小)的元素逐渐向右(或左)移动到正确的位置,直到整个序列有序。冒泡排序的基本思想如下:从序列的第一个元素开始,比较相邻两个元素的大小。如果前一个元......
  • adb命令大全(含高级用法,均已实际使用验证)
    目录Android调试桥(adb)Ubuntu系统安装adbadb命令基础用法adb命令高级用法Android调试桥(adb)ADB是一款多功能命令行工具,可让你通过USB或Wi-Fi与Android设备通信。它用于各种任务,包括:调试应用程序安装和卸载应用传输文件检索设备信息运行shell命令Ubun......
  • fetch的基本用法
    1.基本的GET请求fetch('https://api.example.com/data').then(response=>{if(!response.ok){thrownewError('Networkresponsewasnotok'+response.statusText);}returnresponse.json();}).then(data=>......
  • 【WPF应用35】深度解析WPF中的TreeView控件:功能、用法、特性与最佳实践
    WPF(WindowsPresentationFoundation)是微软推出的一个用于构建桌面应用程序的图形子系统。在WPF中,TreeView是一种常用的树形控件,用于显示层次结构的数据显示。本文将详细介绍WPF中的TreeView控件,并提供一个简单的示例。一、TreeView控件的基本概念TreeView控件用于显示一......
  • MySQL 中 GROUP_CONCAT() 用法
    GROUP_CONCAT是一种SQL聚合函数,用于将组内的多个值连接成一个字符串,并以指定的分隔符分隔这些值。在MySQL中,GROUP_CONCAT可以用于将多个行的值合并成一个字符串,并返回该字符串。以下是GROUP_CONCAT的基本语法:SELECTcolumn1,GROUP_CONCAT(column2SEPARATOR',')ASco......
  • Pytorch torch.utils.data.DataLoader 用法详细介绍
    文章目录1.介绍2.参数详解3.用法4.参考1.介绍torch.utils.data.DataLoader是PyTorch提供的一个用于数据加载的工具类,用于批量加载数据并为模型提供输入。它可以将数据集包装成一个可迭代的对象,方便地进行数据加载和批处理操作。PytorchDataLoader的详细官......
  • free函数的用法和注意事项
    1.定义函数free是C语言中的一个库函数,用于释放动态分配的内存。free函数的用法如下:voidfree(void*ptr);2.注意事项:1.只能释放由malloc、calloc、realloc函数分配的内存空间,不能释放其他类型的内存。2.不能释放已经被释放过的内存。3.释放内存后,不要再使用该内存空......
  • vim编辑的三种模式
    命令模式命令模式:进去时默认的模式,光标的移动、复制、删除、粘贴、其他操作。G跳转到最后一行1G跳转到第一行gg跳转到第一行dd剪切10dd剪切十行dw剪切一个单词y复制yy复制一行x剪切一个字符p在光标下一行粘贴u撤回ctrl+r撤回撤回 输入模式输入模式:在命令模式按i键可以进......
  • PowerShell和DISM命令的组合用法,用于进行 Windows 映像的管理、部署和维护。通过结合
    PowerShell和DISM(DeploymentImageServicingandManagement)命令可以结合使用来进行Windows映像的部署、安装、更新和配置等操作。以下是一些常见的PowerShell和DISM命令的组合用法:安装和更新Windows功能:使用 Install-WindowsFeature cmdlet安装Windows功能,结合DISM......
  • 【Redis核心知识】实现秒杀的三种方案
    Redis秒杀方案Redis性能很好,被大量使用于秒杀场景下,实现秒杀有以下几种方案:方案一:使用商品ID作为分布式锁,加锁后扣减库存该方案的实现流程为:用户发起秒杀请求到Redis,Redis先使用商品ID作为key尝试加锁,保证只有一个用户进入之后流程,保证原子性;如果加锁成功,则查询库存。如......