实现原理不同:拦截器是通过 HandlerInterceptor 接口来实现的,主要是通过 afterCompletion、postHandle、preHandle 这三个方法在请求前后进行拦截处理 。动态代理主要有 JDK 动态代理和 CGLIB 动态代理,JDK 通过反射生成代理类;CGLIB 通过生成被代理类的子类来实现代理 。 加入时机不同:拦截器是在运行阶段动态加入的;动态代理是在编译期或运行期生成的代理类 。 使用难易程度不同:拦截器相对简单,通过实现接口即可使用 。动态代理稍微复杂,需要了解动态代理的实现原理,然后通过相应的 api 实现 。小结在 Spring Boot 中,拦截器和动态代理都是用来实现功能增强的 , 但二者没有任何关联关系,它的区别主要体现在使用范围、实现原理、加入时机和使用的难易程度都是不同的 。
推荐阅读
-
-
-
中国侨网|中国驻泰国大使馆发布再次向在泰同胞发放口罩通知
-
「笑笑君」就和网上一直追求的女孩聊天,搞笑段子:昨晚睡得很晚
-
-
-
快递员|广东女孩遭陌生男子追砍,90后快递哥挺身挡刀!公司:破格提拔
-
-
-
-
奥沙利文|奥沙利文钦点两位夺冠热门:现场无观众有利于霍金斯马奎尔
-
人民日报客户端|孟加拉国新增确诊病例1950例 累计确诊314946例
-
智通财经|中国铝业13亿美元扩大秘鲁Toromocho铜矿项目
-
女神美妆|鞠婧祎为显腿长真拼,穿衬衫玩下衣消失,穿出170既视感引注目
-
-
最强|史上最强防盗墓,文物一件没丢,还发现了30名盗墓者尸体
-
清秋七|蜂花粉选什么花粉减肥效果好?各种蜂花粉的功效?
-
-
【无花果】全球公认投产最快的果树,当年栽种产量可达千斤,能连续收50年!
-
康斯坦丁原创 中国移动“5G消息”欲借东风回生,为啥我乐了