自定义拦截器|学习笔记

简介: 快速学习自定义拦截器

开发者学堂课程【SpringBoot 实战教程 自定义拦截器】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10791


自定义拦截器


内容介绍:

定义

二、案例

 

一、定义

有些时候需要自己配置 SpringMVC 而不是采用默认,springboot 都做了自动配置但是有些配置还是需要自己实现比如项目中常用的拦截器就应该根据自己的功能需要进行定义增加一个拦截器,这个时候就得通过继承 WebMvcConfigurerAdapter 然后重写父类中的方法进行扩展。

 

二、 案例

1、首先创建一个放拦截器的包命名为 com.qianfeng.interceptor

2、在这个下面创建一个拦截器命名为 myinterceptor注意它要继承 WebMvcConfigurerAdapter。

3、在父类中有个方法重写即可方法叫 addInterceptors

(InterceptorRegistry)写一个简单的输出功能返回 ture

@Configuration

public class MyInterceptor extends WebMvcConfigure rAdapter {

@override

public void addInterceptors (InterceptorRegistry registry) {

HandlerInterceptor handler Interceptor=new HandlerInterceptor () {

@Override

public boolean preHandle (HttpServletRequest arg0,

HttpServletResponse arg1, Object arg2) throws Excepfion {

System. out. println("自定义拦截器.....");

Return true;

}

@Override

public void postHandle (HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)

Throws Exception {

4、拦截器写好后需要注册在 springmac 中是在 xml 文件中进行注册即可并且指明拦截器所拦截的资源有一个参数叫 InterceptorRegistry 拦截器注册通过它进行注册把定义的拦截器添加进来注册进去后还需要指明拦截器所拦截资源的路径/**指拦截所有这个是在 springboot 中定义拦截器的方式继承 WebMvcConfigure rAdapter ,重写 addInterceptors,最后用这种方式进行拦截器的注册

5、用 @Configuration 声明这是一个配置MyInterceptor 可以被拦截器扫描到看一下启动程序,SpringBootApplication 注解有一个扫描的功能所以要让 springboot 扫描到这个拦截器应该指明它所在的包包名加进来这样可以扫描到拦截器

@SpringBootApplication (scanBasePackages={"com. qianfeng. controller", "com.qianfeng. interceptor" }

6、访问 controller应该先走拦截器拦截器里面输出一句话再 controller显示 hello,你好

@RequestMapping("/tt")

@ResponseBody

PublicString tests ( )

{

Return"hello, 你好";

}

7、启动controller 访问路径是 tt控制台里面打印了这个拦截器证明拦截器起作用了

image.png

相关文章
xal
|
JavaScript API
VSCode插件开发全攻略(九)常用API总结
更多文章请戳[VSCode插件开发全攻略系列目录导航](https://www.atatech.org/articles/121864)。 本文提炼一些常见的API使用场景供参考。 # 本文还没写完,有待补充 # 编辑器相关 ## 修改当前激活编辑器内容 替换当前编辑器全部内容: ```js vscode.window.activeTextEditor.e
xal
2969 0
|
数据采集 存储 数据挖掘
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
本文介绍了一个基于Python的书旗网小说网站数据采集与分析系统,通过自动化爬虫收集小说数据,利用Pandas进行数据处理,并通过Matplotlib和Seaborn等库进行数据可视化,旨在揭示用户喜好和市场趋势,为图书出版行业提供决策支持。
1230 6
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
|
11月前
|
机器学习/深度学习 存储 人工智能
淘天算法工程师玩转《黑神话》,多模态大模型如何成为天命AI
淘天集团未来生活实验室的算法工程师们以ARPG游戏《黑神话:悟空》为平台,探索多模态大模型(VLM)在仅需纯视觉输入和复杂动作输出场景中的能力边界。他们提出了一种名为VARP的新框架,该框架由动作规划系统和人类引导的轨迹系统组成,成功在90%的简单和中等难度战斗场景中取得胜利。研究展示了VLMs在传统上由强化学习主导的任务中的潜力,并提供了宝贵的人类操作数据集,为未来研究奠定了基础。
|
数据采集 传感器 机器学习/深度学习
人工智能在农业中的应用:从数据采集到智能决策
本篇文章将详细探讨人工智能(AI)技术在现代农业中的应用,包括从数据采集、分析到智能决策的全过程。通过具体案例,展示AI如何帮助提高农业生产效率、降低成本并增强环境可持续性。
2009 0
|
Web App开发 移动开发 前端开发
H5微信外支付(移动端浏览器)
H5微信外支付(移动端浏览器)
537 1
 H5微信外支付(移动端浏览器)
|
达摩院 调度
使用达摩院MindOpt优化交通调度_最大化通行量—线性规划问题
在数学规划中,网络流问题是指一类基于网络模型的流量分配问题。网络流问题的目标是在网络中分配资源,使得网络的流量满足一定的限制条件,并且使得某些目标函数最小或最大化。网络流问题通常涉及一个有向图,图中每个节点表示一个资源,每条边表示资源之间的关系。边上有一个容量值,表示该边上最多可以流动的资源数量。流量从源节点开始流出,经过一系列中间节点,最终到达汇节点。在这个过程中,需要遵守一定的流量守恒和容量限制条件。
|
图形学
【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏14(附项目源码)
【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏14(附项目源码)
215 3
|
监控 Linux Python
百度搜索:蓝易云【Linux系统安装HomeAssistant教程。】
请注意,以上步骤提供了基本的Home Assistant安装指南。具体的安装过程可能因您使用的Linux发行版和软件源而有所不同。如果您遇到任何问题,请参考相应的文档,或寻求相关的支持和指导。
572 0
|
存储 安全 Java
Java内省(Introspector)机制:深入理解与应用
Java内省(Introspector)机制:深入理解与应用
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
1326 0