实现原理不同:拦截器是通过 HandlerInterceptor 接口来实现的,主要是通过 afterCompletion、postHandle、preHandle 这三个方法在请求前后进行拦截处理 。动态代理主要有 JDK 动态代理和 CGLIB 动态代理,JDK 通过反射生成代理类;CGLIB 通过生成被代理类的子类来实现代理 。 加入时机不同:拦截器是在运行阶段动态加入的;动态代理是在编译期或运行期生成的代理类 。 使用难易程度不同:拦截器相对简单,通过实现接口即可使用 。动态代理稍微复杂,需要了解动态代理的实现原理,然后通过相应的 api 实现 。小结在 Spring Boot 中,拦截器和动态代理都是用来实现功能增强的 , 但二者没有任何关联关系,它的区别主要体现在使用范围、实现原理、加入时机和使用的难易程度都是不同的 。
推荐阅读
-
-
#中新网#打了两次电话? 特朗普或将公开与乌总统另一次通话
-
语言暴力伤害孩子身心健康,影响比你想象中还要大,别再骂孩子了
-
武汉广播电视台 天猫双11送房子开奖了!武汉人中了武汉房
-
-
得了房颤怎么办?射频消融术来帮忙,看看适应症有哪些
-
儿童脊柱侧弯高发,光明园迪学习桌帮助孩子养成良好坐姿
-
旭旭宝宝|旭旭宝宝增幅装备被带节奏,宝哥霸气回怼:他们是选择性眼瞎
-
[猎云网]业务安全服务商人人云图获5000万元A轮融资,琥珀资本领投
-
简单观察|安陆市开展‘“515”院士专家科技服务畜牧产业发展安陆行’活动
-
-
-
-
全球首例艾滋病患者被治愈|全球首例艾滋病患者被治愈 多大年纪?怎么被治愈的?
-
中新网:日本1月失业率为2.4% 日总务省:总体形势向好
-
-
新冠病毒可在手机屏上存活一个月@澳大利亚科学家:新冠病毒可在手机屏上存活一个月
-
-
看懂《琅琊榜》秦般弱对誉王说的话,就知两人到底有没发生过关系
-