最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在springboot中攔截器Filter中注入bean失敗問題及解決

 更新時(shí)間:2024年05月17日 09:29:14   作者:解咚咚  
這篇文章主要介紹了在springboot中攔截器Filter中注入bean失敗問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

緣由

在做SSO項(xiàng)目時(shí)整合了shiro,在寫一個(gè)攔截器的時(shí)候(繼承AccessControlFilter)在這里需要注入一個(gè)Bean.

按正常的寫法如下:

@Autowired
private RedisUtil<Object, Object> redisUtil;

這是我的一個(gè)操作redis的工具類。

這樣自動(dòng)去注入當(dāng)使用的時(shí)候是未NULL,是注入不進(jìn)去了。

通俗的來講是因?yàn)閿r截器在spring掃描bean之前加載所以注入不進(jìn)去。

解決方法

可以通過已經(jīng)初始化之后applicationContext容器中去獲取需要的bean.

public <T> T getBean(Class<T> clazz,HttpServletRequest request){
        WebApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
        return applicationContext.getBean(clazz);
    }

可以直接調(diào)用此方法得到想要的Bean

RedisUtil<String,Object> redisUtil = getBean(RedisUtil.class, request);

這樣就可以直接使用了。

注意*****

如果有其他配置類中有new 一個(gè)對(duì)象出來,這個(gè)對(duì)象是不會(huì)被springboot管理的,不管你在其他地方用什么方法去交給spring管理創(chuàng)建對(duì)象,怎么都會(huì)注入為null,所以怎么注入都為null時(shí)注意檢查手動(dòng)new的地方 !!!

錯(cuò)誤示例

    SocketChannelInterceptor 這個(gè)對(duì)象是不會(huì)被spring管理的。
    @Override
    public void configureClientInboundChannel(ChannelRegistration registration) {
        registration.interceptors( new SocketChannelInterceptor());
    }

    @Override
    public void configureClientOutboundChannel(ChannelRegistration registration) {
        registration.interceptors( new SocketChannelInterceptor());
    }

正確示例

    @Bean
    public SocketChannelInterceptor getSocketChannelInterceptor(){
        return  new SocketChannelInterceptor();
    }


    @Override
    public void configureClientInboundChannel(ChannelRegistration registration) {
        registration.interceptors( getSocketChannelInterceptor());
    }

    @Override
    public void configureClientOutboundChannel(ChannelRegistration registration) {
        registration.interceptors( getSocketChannelInterceptor());
    }

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis Generator去掉生成的注解

    MyBatis Generator去掉生成的注解

    這篇文章主要介紹了MyBatis Generator去掉生成的注解的相關(guān)資料,非常不錯(cuò)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • 開發(fā)者必讀:揭秘Python與Java的性能較量

    開發(fā)者必讀:揭秘Python與Java的性能較量

    本文將探討這兩種流行的編程語言之間的性能差異,無論你是剛剛?cè)腴T編程還是已經(jīng)有一定經(jīng)驗(yàn),這個(gè)指南都將幫助你了解Python和Java在執(zhí)行速度、內(nèi)存管理以及擴(kuò)展性方面的不同,通過比較這兩種語言的特點(diǎn)和優(yōu)勢,你將能夠更好地選擇適合自己項(xiàng)目需求的編程語言,讓我們開始吧!
    2023-12-12
  • Java中final關(guān)鍵字和final的四種用法實(shí)例

    Java中final關(guān)鍵字和final的四種用法實(shí)例

    final關(guān)鍵字代表最終的、不可改變的,下面這篇文章主要給大家介紹了關(guān)于Java中final關(guān)鍵字和final的四種用法實(shí)例,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • springSecurity過濾web請(qǐng)求的項(xiàng)目實(shí)踐

    springSecurity過濾web請(qǐng)求的項(xiàng)目實(shí)踐

    SpringSecurity是一個(gè)功能強(qiáng)大的安全框架,提供了全面的 Web 安全功能,它的核心之一是過濾器鏈,用于攔截和處理 Web 請(qǐng)求,本文就來介紹SpringSecurity配置和使用過濾器來管理Web請(qǐng)求的安全性,感興趣的可以了解一下
    2025-09-09
  • hadoop?全面解讀自定義分區(qū)

    hadoop?全面解讀自定義分區(qū)

    Hadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進(jìn)行高速運(yùn)算和存儲(chǔ)
    2022-02-02
  • 淺析如何使用xstream實(shí)現(xiàn)javaBean與xml互轉(zhuǎn)

    淺析如何使用xstream實(shí)現(xiàn)javaBean與xml互轉(zhuǎn)

    XStream 是一個(gè)用于將 Java 對(duì)象與 XML 之間進(jìn)行轉(zhuǎn)換的庫,它非常簡單易用,下面將詳細(xì)介紹如何使用 XStream 實(shí)現(xiàn) JavaBean 與 XML 之間的互轉(zhuǎn),需要的可以了解下
    2025-05-05
  • bootstrap.yml如何讀取nacos配置中心的配置文件

    bootstrap.yml如何讀取nacos配置中心的配置文件

    這篇文章主要介紹了bootstrap.yml讀取nacos配置中心的配置文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • java對(duì)象類型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)

    java對(duì)象類型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)

    下面小編就為大家?guī)硪黄猨ava對(duì)象類型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java稀疏數(shù)組的應(yīng)用實(shí)踐

    Java稀疏數(shù)組的應(yīng)用實(shí)踐

    本文主要介紹了Java稀疏數(shù)組的應(yīng)用實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java實(shí)現(xiàn)求二叉樹的深度和寬度

    Java實(shí)現(xiàn)求二叉樹的深度和寬度

    這篇文章主要介紹了Java實(shí)現(xiàn)求二叉樹的深度和寬度,本文分別給出代碼實(shí)例,需要的朋友可以參考下
    2015-06-06

最新評(píng)論

高尔夫| 资溪县| 东乌珠穆沁旗| 抚远县| 武强县| 银川市| 黎平县| 当阳市| 秀山| 衡山县| 元朗区| 黄龙县| 潍坊市| 乌鲁木齐县| 同仁县| 怀仁县| 霍邱县| 宜黄县| 重庆市| 右玉县| 大洼县| 岱山县| 固镇县| 定日县| 克什克腾旗| 十堰市| 遵义县| 贞丰县| 晋宁县| 眉山市| 奉节县| 湖南省| 左贡县| 东莞市| 丰都县| 天全县| 招远市| 林口县| 论坛| 聂拉木县| 桑日县|