Spring HandlerInterceptor實現(xiàn)原理代碼解析
HandlerInterceptor 在這里看到這個HandlerExecutionChain對interceptor的調用,在這里深入看一下。
HandlerExecutionChain 就是一個類,綁定了Handler( 對應的Controller) 和 Interceptors , 所以作用就是對Controller前后執(zhí)行interceptors, 類似Filter
幾個問題:
1. interceptor調用位置?
1 2 3 對應調用 handlerInterceptor preHandle, postHandle, afterCompletion
先看第一行的:
進到對應的interceptor實現(xiàn)類,preHandler返回true, 如果返回false, 就會到DispatcherServlet就直接return了。
看第二行沒有特別的:
由于它只重寫了preHandle
所以走到它父類的postHandle了。方法是空的。
第三行和第二行一樣不贅述了。
以上就是執(zhí)行位置。
所以如果實現(xiàn)HandlerInterceptor , preHandle 應該返回true, 具體要攔截的內容寫在return true之前就行。 postHandle和afterCompletion 都是void方法,直接在里面寫需要攔截的內容。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringCloud微服務之Hystrix組件實現(xiàn)服務熔斷的方法
微服務架構特點就是多服務,多數(shù)據(jù)源,支撐系統(tǒng)應用。這樣導致微服務之間存在依賴關系。這篇文章主要介紹了SpringCloud微服務之Hystrix組件實現(xiàn)服務熔斷的方法,需要的朋友可以參考下2019-08-08Jackson將json string轉為Object,org.json讀取json數(shù)組的實例
下面小編就為大家?guī)硪黄狫ackson將json string轉為Object,org.json讀取json數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助2017-12-12IDEA使用學生郵箱無法注冊問題:JetBrains Account connection error: 拒絕連接
這篇文章主要介紹了IDEA使用學生郵箱無法注冊問題:JetBrains Account connection error: 拒絕連接,文中通過圖文及示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07SpringBoot請求發(fā)送與信息響應匹配實現(xiàn)方法介紹
這篇文章主要介紹了SpringBoot請求發(fā)送與信息響應匹配實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-10-10