实现原理不同:拦截器是通过 HandlerInterceptor 接口来实现的,主要是通过 afterCompletion、postHandle、preHandle 这三个方法在请求前后进行拦截处理 。动态代理主要有 JDK 动态代理和 CGLIB 动态代理,JDK 通过反射生成代理类;CGLIB 通过生成被代理类的子类来实现代理 。 加入时机不同:拦截器是在运行阶段动态加入的;动态代理是在编译期或运行期生成的代理类 。 使用难易程度不同:拦截器相对简单,通过实现接口即可使用 。动态代理稍微复杂,需要了解动态代理的实现原理,然后通过相应的 api 实现 。小结在 Spring Boot 中,拦截器和动态代理都是用来实现功能增强的 , 但二者没有任何关联关系,它的区别主要体现在使用范围、实现原理、加入时机和使用的难易程度都是不同的 。
推荐阅读
-
大家说一说在你觉得北京的哪些公司工作,员工的幸福指数最高?
-
-
中国新闻网|经济观察:首席经济学家们预计6月中国出口将继续改善
-
-
#戴安娜王妃#王室成员中的时尚缪斯!戴安娜王妃穿搭赏析,优雅高贵感无人能及
-
此时临沧|| 前三季度 临沧经济增长由负转正 同比增长2%,跨越发展在临沧
-
美团美团为何点燃支付江湖战火 不再支持支付宝 背后腾讯身影隐现
-
-
谈军论事|多名俄罗斯记者被逮捕殴打,反对派候选人逃亡国外,白俄罗斯断网
-
-
「黄冈市」湖北新增确诊病例401例 新增出院2058例
-
老表大超 各币种层出不穷,是机遇还是骗局?,比特币涨价带火区块链技术
-
-
求婚■30多岁了男友还不求婚怎么办?在线等挺急的!
-
-
好事儿娇娘|也就没有你啊。,每日一笑:当年要是没有他
-
-
电子商务实战专家力挺华为,小米为什么不受用户欢迎?
-
佩信集团旗下佩企信息ONESSC以云计算支撑企业战“疫”复产
-
spalding:iPhone12售价配置全公开?将使用京东方屏幕