springboot 攔截器中無法注入 RedisTemplate


  之前登錄系統用jwt的時候, 用RedisTemplate 使用redis, 遇到過這樣一個問題, 在token驗證攔截器 中要使用到RedisTemplate  連接到redis 取出存進去的token, 結果注入RedisTemplate時沒注入進去, 為null了. 想想也對, 攔截器在上下文context之前, 怎么會注入呢

  我的攔截器如下:

  在自定義WebConfig中加入上面定義的攔截器:

  使用postman調用的時候。發現出現了空指針異常,debug發現,AccessLimitInterceptor中的Redistemplate為null。靜下來想一想,攔截器加載的時間點在springcontext之前,即在bean實例化之前,所以在攔截器中注入自然為null 。那么我們就讓攔截器執行的時候實例化攔截器Bean,在攔截器配置類里面先實例化攔截器,然后再獲取就能解決這個問題啦。

  springBoot 使用RedisTemplate 整合Redis 詳見  SpringBoot使用RedisTemplate整合Redis


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM