面 试 题

过滤器和拦截器的区别

都是 Aop 思想的一种体现,用来解决项目中 某一类 问题的两种接口(工具),都可以对请求做一些增强

出身

过滤器来自 servlet

拦截器来自 spring

使用范围

过滤器 Filter 实现了 iavax.servlet.Filter 接口,也就是说过滤器的使用要依赖于 Tomcat 等容器,所以它只能在 web 程序中使用。

拦截器 Interceptor 实现了
org.springframework.web.servlet 接口,它是由 Spring 容器进行管理,并不依赖 Tomcat 等容器,既可以应用在 web 程序中,也可以应用在非 web 程序中(Application、Swing)。

实现原理

过滤器基于过滤器链 ApplicationFilterChain 实现

拦截器基于反射

使用场景

过滤器用于 字符编码设置、响应数据压缩(通用功能)

拦截器用于 是否登录判断、权限判断、日志等等(偏重业务功能)

触发时机

Mybatis 的执行器


SimpleExecutor:简单的执行器,每次执行操作都会开启一个新的 Statement 对象,用完就会立刻关闭

ReuseExecutor:重复使用的执行器,实现了对 Statement 对象的复用

BatchExecutor:可执行批处理任务的执行器。

所有的执行器都必须是在 SqlSession 的生命周期之内,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS实现渐变色

渐变色分为线性渐变和径向渐变。 线性渐变linear-gradient(方向, 颜色1, 颜色2, … ,颜色n)径向渐变radial-gradient(颜色1 覆盖区域大小, 颜色2 覆盖区域大小, … ) 线性渐变的方向可以为: ​ 1、一个方向值时: to bottom 表示从上边到下边渐变 ​ 2、…

vue实现列表上方的查询条件和表头等悬停在上方

目录 1、代码如下&#xff1a; 2、代码说明 2.1、对头部和表头标签等悬停在上方在cs中维护&#xff1b; 2.2、点击隐藏和收起在mounted中增加点击的监控事件 2.3、针对查询时增加高度的处理&#xff1a; 1、代码如下&#xff1a; <template ><div class"fra…

Java并发编程:解锁并发编程中的加锁技巧

1. 并发编程基础 并发编程是现代软件开发的核心之一&#xff0c;尤其在处理大规模用户访问的场景下。为了正确处理多线程编程的复杂性&#xff0c;理解基础概念至关重要。本章节将深入讨论并发编程的基础&#xff0c;包括并发与并行的区别&#xff0c;线程安全的基本概念&…

富格林:着重杜绝欺诈阻挠被骗

富格林认为&#xff0c;在现货黄金市场中&#xff0c;存在着激烈的波动和风险。尽管相应的盈利潜力也很大&#xff0c;但需要注意的是&#xff0c;我们要着重掌握经验杜绝欺诈阻挠被骗的情况发生&#xff0c;并利用行情的变化为自己扩大收益。因此&#xff0c;了解一些现货黄金…

c与c++用法区别剖析 迟早得用到

从C语言过渡到c&#xff0c;肯定要掌握这些吧 1.面向对象编程&#xff1a; C语言是过程化编程语言&#xff0c;它主要关注函数和过程。C支持面向对象编程&#xff0c;提供类、继承、多态等特性。 // C中的类和对象 class Rectangle { private:int width, height; public:Rec…

超越视觉极限:深度学习图像超分辨率算法清单【第三部分】

超越视觉极限&#xff1a;深度学习图像超分辨率算法清单【第三部分】 简介2018年 - DBPN (Deep Back-Projection Networks)2018年 - RDN (Residual Dense Network)2018年 - SRRGAN (Super-Resolution Reconstruction Generative Adversarial Network)2019年 - FSRGAN (Fast Sup…

Spring AI多模态接口开发

文章目录 项目地址创建项目配置项目接口开发结果测试测试接口测试在线图片接口测试本地图片接口测试 项目地址 Spring AI项目开发 创建项目 打开IDEA创建一个新的spring boot项目&#xff0c;填写项目名称和位置&#xff0c;类型选择maven&#xff0c;组、工件、软件包名称可…

Ubuntu apt-get install 失败

一般方法&#xff0c;执行如下指令 sudo apt-get update# 某些系统程序才需要&#xff0c;比如make sudo apt-get install build-essentialsudo apt-get install make这一步如何能成功&#xff0c;则说明是使用方式错误&#xff0c;问题比较简单 如果继续失败&#xff0c;提示…

实现vant的年月日时分秒组件

方法&#xff1a;van-datetime-picker&#xff08;type&#xff1a;datetime&#xff09;和 van-picker结合实现。 <template><div class"datetimesec-picker"><van-datetime-pickerref"timePickerRef"type"datetime" //年月日时…

【系统架构师】-案例篇(十一)质量属性、瘦客户端与Web系统架构

1、架构评估中的质量属性 ① 性能&#xff0c;是指系统的响应能力&#xff0c;即要经过多长时间才能对某个事件做出响应&#xff0c;或者在某段时间内系统所能处理的事件的个数。 ② 可靠性&#xff0c;是软件系统在应用或系统错误面前&#xff0c;在意外或错误使用的情况下维…

Android 11 输入系统之InputDispatcher和应用窗口建立联系

InputDispatcher把输入事件传给应用之前&#xff0c;需要和应用窗口建立联系&#xff0c;了解了这个过程&#xff0c;就清楚了APP进程和InputDispatcher线程也就是SystemServer进程之间是如何传输数据了 我们向窗口addView的时候&#xff0c;都会调用到ViewRootImpl的setView方…

Canvas简历编辑器-我的剪贴板里究竟有什么数据

Canvas简历编辑器-我的剪贴板里究竟有什么数据 在这里我们先来聊聊我们究竟应该如何操作剪贴板&#xff0c;也就是我们在浏览器的复制粘贴事件&#xff0c;并且在此基础上聊聊我们在Canvas图形编辑器中应该如何控制焦点以及如何实现复制粘贴行为。 在线编辑: https://windrun…

Docker 部署 Nginx 实现一个极简的 负载均衡

背景: Nginx是异步框架的网页服务器&#xff0c;其常用作反向代理(负载均衡器)。在一般的小项目中, 服务器不多, 如果不考虑使用服务注册与发现, 使用Nginx 可以容易实现负载均衡。 在特此写一个快速入门 Nginx 的技术贴, 使用 Docker 部署 Nginx, 实现一个极简的加权轮询负载均…

现在的原创内容博客 SEO 最好就选谷歌和必应!

当我们在国内讨论搜索引擎优化的时候&#xff0c;我们经常讨论的是百度 SEO&#xff0c;很少提及 Bing 搜索与 Google 搜索&#xff0c;但随着跨境电商的崛起&#xff0c;在国内做外贸 SEO 的小伙伴越来越多&#xff0c;有效的了解 Bing 搜索与 Google 搜索的优化规则是很有必要…

2024年武侯区建设企业科技创新平台申报范围条件、奖励标准和材料

一、申报对象 支持企业围绕数字健康、消费电子、新型材料等重点领域&#xff0c;布局建设一批重点实验室、创新中心、企业技术中心等高端研发平台&#xff0c;着力突破产业关键技术。实施产业链人才开源计划&#xff0c;支持链主企业为上下游关联配套企业提供技术与人才支持、…

(第17天)栈与队列理论基础

目录 栈栈的逻辑结构基于逻辑结构的特性 栈的底层实现 队列队列的逻辑结构基于逻辑结构的特性 队列的底层实现 总结 栈 栈的逻辑结构 栈是一种先入后出的结构。 基于逻辑结构的特性 栈中的元素必须遵循先入后出的规则&#xff0c;因此栈提供pop()、push()接口进行对元素的操作…

开源aodh学习小结

1 介绍 aodh是openstack监控服务&#xff08;Telemetry&#xff09;下的一个模块&#xff0c;telemetry下还有一个模块ceilometer OpenStack Docs: 2024.1 Administrator Guides Get Started on the Open Source Cloud Platform - OpenStack Telemetry - OpenStack 1.1 代码仓…

softmax函数与交叉熵损失详解

文章目录 一、softmax函数1.1 引入指数形式的优点1.2 引入指数形式的缺点 二、交叉熵损失函数2.1 交叉熵损失函数2.2 softmax与交叉熵损失 参考资料 一、softmax函数 softmax用于多分类过程中&#xff0c;它将多个神经元的输出&#xff0c;映射到&#xff08;0,1&#xff09;区…

【C++ 内存管理】深拷贝和浅拷贝你了解吗?

文章目录 1.深拷贝2.浅拷贝3.深拷贝和浅拷贝 1.深拷贝 &#x1f34e; 深拷⻉: 是对对象的完全独⽴复制&#xff0c;包括对象内部动态分配的资源。在深拷⻉中&#xff0c;不仅复制对象的值&#xff0c;还会复制对象所指向的堆上的数据。 特点&#xff1a; &#x1f427;① 复制对…

蓝桥杯-移动距离(最简单的写法)

X星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。 其楼房的编号为 1,2,3…当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 比如&#xff1a;当小区排号宽度为 6 时&#xff0c;开始情形如下&#xff1a; 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 … 我…