亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring context:component-scan的使用及說明

 更新時(shí)間:2023年09月25日 08:49:58   作者:郭梧悠  
這篇文章主要介紹了Spring context:component-scan的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Spring context:component-scan的使用

在xml配置了這個(gè)標(biāo)簽后,spring可以自動(dòng)去掃描base-pack下面或者子包下面的java文件,

如果掃描到有@Component @Controller@Service等這些注解的類,則把這些類注冊(cè)為bean

注意

如果配置了<context:component-scan>那么<context:annotation-config/>標(biāo)簽就可以不用再xml中配置了,因?yàn)榍罢甙撕笳摺?/p>

另外<context:component-scan>還提供了兩個(gè)子標(biāo)簽

  • <context:include-filter>
  • <context:exclude-filter>

在說明這兩個(gè)子標(biāo)簽前,先說一下<context:component-scan>有一個(gè)use-default-filters屬性,該屬性默認(rèn)為true,這就意味著會(huì)掃描指定包下的全部的標(biāo)有@Component的類,并注冊(cè)成bean。

也就是@Component的子注解@Service,@Reposity等。

所以如果僅僅是在配置文件中這么寫

<context:component-scan base-package="tv.huan.weisp.web"/>

Use-default-filter此時(shí)為true那么會(huì)對(duì)base-package包或者子包下的所有的進(jìn)行java類進(jìn)行掃描,并把匹配的java類注冊(cè)成bean。

可以發(fā)現(xiàn)這種掃描的粒度有點(diǎn)太大,如果你只想掃描指定包下面的Controller,該怎么辦?

此時(shí)子標(biāo)簽<context:incluce-filter>就起到了勇武之地。

如下所示:

<context:component-scan?base-package="tv.huan.weisp.web .controller">??
<context:include-filter?type="annotation"?expression="org.springframework.stereotype.Controller"/>???
</context:component-scan>??

這樣就會(huì)只掃描base-package指定下的有@Controller下的java類,并注冊(cè)成bean

但是因?yàn)閡se-dafault-filter在上面并沒有指定,默認(rèn)就為true,所以當(dāng)把上面的配置改成如下所示的時(shí)候,就會(huì)產(chǎn)生與你期望相悖的結(jié)果(注意base-package包值得變化)

<context:component-scan?base-package="tv.huan.weisp.web">??
<context:include-filter?type="annotation"?expression="org.springframework.stereotype.Controller"/>???
</context:component-scan>??

此時(shí),spring不僅掃描了@Controller,還掃描了指定包所在的子包service包下注解@Service的java類

此時(shí)指定的include-filter沒有起到作用,只要把use-default-filter設(shè)置成false就可以了。

這樣就可以避免在base-packeage配置多個(gè)包名這種不是很優(yōu)雅的方法來解決這個(gè)問題了。

另外在我參與的項(xiàng)目中可以發(fā)現(xiàn)在base-package指定的包中有的子包是不含有注解了,所以不用掃描,此時(shí)可以指定<context:exclude-filter>來進(jìn)行過濾,說明此包不需要被掃描。

綜合以上說明

Use-dafault-filters=”false”的情況下:

  • <context:exclude-filter>指定的不掃描
  • <context:include-filter>指定的掃描

總結(jié)

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

相關(guān)文章

  • java request.getParameter中文亂碼解決方法

    java request.getParameter中文亂碼解決方法

    今天跟大家分享幾個(gè)解決java Web開發(fā)中,request.getParameter()獲取URL中文參數(shù)亂碼的解決辦法,需要的朋友可以參考下
    2020-02-02
  • SpringBoot框架集成ElasticSearch實(shí)現(xiàn)過程示例詳解

    SpringBoot框架集成ElasticSearch實(shí)現(xiàn)過程示例詳解

    這篇文章主要為大家介紹了SpringBoot如何集成ElasticSearch的實(shí)現(xiàn)過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • java之map集合存放null值的問題

    java之map集合存放null值的問題

    這篇文章主要介紹了java之map集合存放null值的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java Lambda 表達(dá)式詳解及示例代碼

    Java Lambda 表達(dá)式詳解及示例代碼

    本文主要介紹Java Lambda 表達(dá)式的知識(shí),這里整理了相關(guān)資料,JavaLambda 是Java8 引入的新功能,有興趣的小伙伴可以參考下
    2016-09-09
  • Spring IOC基于注解啟動(dòng)示例詳析

    Spring IOC基于注解啟動(dòng)示例詳析

    這篇文章主要給大家介紹了Spring IOC基于注解啟動(dòng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • mybatis-plus實(shí)現(xiàn)多表查詢的示例代碼

    mybatis-plus實(shí)現(xiàn)多表查詢的示例代碼

    MyBatis-Plus提供了多種方式實(shí)現(xiàn)多表查詢,包括使用注解、MyBatis-PlusJoin擴(kuò)展和XML配置文件,每種方法都有其適用場(chǎng)景和優(yōu)勢(shì),本文就來具體介紹一下,感興趣的可以了解一下
    2024-11-11
  • Java實(shí)現(xiàn)蘿卜勇者游戲的示例代碼

    Java實(shí)現(xiàn)蘿卜勇者游戲的示例代碼

    《蘿卜勇者》是由國(guó)內(nèi)玩家自制的一款獨(dú)立游戲,玩家扮演蘿卜勇士闖關(guān),打敗各種邪惡的敵人,獲得最后的勝利。本文將利用Java實(shí)現(xiàn)這一游戲,感興趣的可以了解一下
    2022-02-02
  • java swing實(shí)現(xiàn)的掃雷游戲及改進(jìn)版完整示例

    java swing實(shí)現(xiàn)的掃雷游戲及改進(jìn)版完整示例

    這篇文章主要介紹了java swing實(shí)現(xiàn)的掃雷游戲及改進(jìn)版,結(jié)合完整實(shí)例形式對(duì)比分析了java使用swing框架實(shí)現(xiàn)掃雷游戲功能與相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • spring的data派生查詢機(jī)制的實(shí)現(xiàn)

    spring的data派生查詢機(jī)制的實(shí)現(xiàn)

    SpringData的派生查詢是一種通過方法名約定自動(dòng)生成數(shù)據(jù)庫查詢的機(jī)制,無需手動(dòng)編寫SQL或JPQL,下面就來介紹一下spring data派生查詢的實(shí)現(xiàn),感興趣的可以了解一下
    2025-03-03
  • java實(shí)現(xiàn)簡(jiǎn)單的彈球游戲

    java實(shí)現(xiàn)簡(jiǎn)單的彈球游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的彈球游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評(píng)論