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

基于spring boot排除掃描類(lèi)的三種方式小結(jié)

 更新時(shí)間:2021年08月02日 10:10:46   作者:micro_hz  
這篇文章主要介紹了spring boot排除掃描類(lèi)的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

最近在做單測(cè)的時(shí)候,由于自己配置的spring boot容器會(huì)默認(rèn)掃描很多不想被加載,網(wǎng)上中文的文章并不多,所以來(lái)總結(jié)一下。

默認(rèn)下面描述的類(lèi)都在一個(gè)包下面

第一步我們新建一個(gè)應(yīng)用啟動(dòng)的類(lèi),一個(gè)類(lèi)用來(lái)充當(dāng)Configuration,為了能明顯的感知到其到底有沒(méi)生效,我編寫(xiě)如下:

@SpringBootApplication
public class Test  {
    public static void main(String[] args) {
        new SpringApplication(Test.class).run(args);
    }
}
@Configuration
public class MyConfig {
    @Bean
    public BeanPostProcessor beanPostProcessor() {
        System.out.println("初始化了 bean BeanPostProcessor");
        return new BeanPostProcessor() {
            @Override
            public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
                System.out.println("加載了bean " + beanName);
                return bean;
            }
            @Override
            public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
                return bean;
            }
        };
    }
}

我們可以啟動(dòng)應(yīng)用發(fā)現(xiàn)輸出

初始化了 bean BeanPostProcessor
加載了bean org.springframework.context.event.internalEventListenerProcessor
加載了bean org.springframework.context.event.internalEventListenerFactory
加載了bean org.springframework.boot.autoconfigure.AutoConfigurationPackages
加載了bean org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration
加載了bean org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration
加載了bean objectNamingStrategy
加載了bean mbeanServer
加載了bean mbeanExporter
加載了bean org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration
加載了bean spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties
加載了bean org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration
加載了bean org.springframework.boot.autoconfigure.web.WebClientAutoConfiguration

說(shuō)明被@Configuration 修飾的類(lèi)MyConfig本身被掃描了。

方法1:用exclude指明明確要排除的類(lèi).

@SpringBootApplication
@ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {MyConfig.class})})
public class Test  {
    public static void main(String[] args) {
        new SpringApplication(Test.class).run(args);
    }
}

用ComponentScan的excludeFilters屬性,可以明確排除調(diào)需要掃描的類(lèi)。

但是這里存在一個(gè)問(wèn)題,如果要排除的類(lèi)比較多,那這里會(huì)看起來(lái)很冗余。我們可以采用第二種方式。注解排除。

方法2 : 用注解方式排除

public @interface IgnoreScan {
}

新建此注解。

在需要忽略的類(lèi)上添加:

@Configuration
@IgnoreScan
public class MyConfig {
    @Bean
    public BeanPostProcessor beanPostProcessor() {
        System.out.println("初始化了 bean BeanPostProcessor");
        return new BeanPostProcessor() {
            @Override
            public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
                System.out.println("加載了bean " + beanName);
                return bean;
            }
            @Override
            public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
                return bean;
            }
        };
    }
}

這樣即可排除掉不被掃描了。

方法3 :

第三種方式實(shí)現(xiàn)org.springframework.core.type.filter.TypeFilter,然后也是ComponentScan去排除指定的注解。網(wǎng)上寫(xiě)的好的文章很多,這里不多說(shuō)了。

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

相關(guān)文章

  • java 線程中start方法與run方法的區(qū)別詳細(xì)介紹

    java 線程中start方法與run方法的區(qū)別詳細(xì)介紹

    這篇文章主要介紹了java 線程中start方法與run方法的區(qū)別詳細(xì)介紹的相關(guān)資料,在java線程中調(diào)用start方法與run方法的區(qū)別在哪里? 這兩個(gè)問(wèn)題是兩個(gè)非常流行的初學(xué)者級(jí)別的多線程面試問(wèn)題,這里進(jìn)行詳細(xì)說(shuō)明,需要的朋友可以參考下
    2016-11-11
  • Java使用OpenCV進(jìn)行圖像處理的示例代碼

    Java使用OpenCV進(jìn)行圖像處理的示例代碼

    OpenCV是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù),廣泛應(yīng)用于圖像處理、機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺(jué)等領(lǐng)域,盡管OpenCV主要使用C/C++進(jìn)行開(kāi)發(fā),但它也為Java提供了綁定,使得Java開(kāi)發(fā)者能夠利用其強(qiáng)大的圖像處理功能,在本篇文章中,我們將詳細(xì)介紹如何在Java中使用OpenCV,需要的朋友可以參考下
    2025-03-03
  • SpringBoot+MybatisPlus+代碼生成器整合示例

    SpringBoot+MybatisPlus+代碼生成器整合示例

    這篇文章主要介紹了SpringBoot+MybatisPlus+代碼生成器整合示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • JAVA正則表達(dá)式校驗(yàn)qq號(hào)碼的方法

    JAVA正則表達(dá)式校驗(yàn)qq號(hào)碼的方法

    Java作為一種開(kāi)發(fā)語(yǔ)言,有許多值得推薦的地方,但是它一直以來(lái)沒(méi)有自帶對(duì)正則表達(dá)式的支持。下面小編給大家?guī)?lái)了JAVA正則表達(dá)式校驗(yàn)qq號(hào)碼的方法,需要的朋友參考下吧
    2018-04-04
  • Java與Android使用監(jiān)聽(tīng)者模式示例

    Java與Android使用監(jiān)聽(tīng)者模式示例

    這篇文章主要為大家介紹了Java與Android使用監(jiān)聽(tīng)者模式示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 一文詳解如何通過(guò)Java實(shí)現(xiàn)SSL交互功能

    一文詳解如何通過(guò)Java實(shí)現(xiàn)SSL交互功能

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)Java實(shí)現(xiàn)SSL交互功能,文中的示例代碼講解詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的可以參考一下
    2023-04-04
  • Java圖形界面開(kāi)發(fā)之簡(jiǎn)易記事本

    Java圖形界面開(kāi)發(fā)之簡(jiǎn)易記事本

    這篇文章主要為大家詳細(xì)介紹了Java圖形界面開(kāi)發(fā)之簡(jiǎn)易記事本的制作方法,,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Hibernate對(duì)數(shù)據(jù)庫(kù)刪除、查找、更新操作實(shí)例代碼

    Hibernate對(duì)數(shù)據(jù)庫(kù)刪除、查找、更新操作實(shí)例代碼

    本篇文章主要介紹了Hibernate對(duì)數(shù)據(jù)庫(kù)刪除、查找、更新操作實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • springboot中swagger、異步/定時(shí)/郵件任務(wù)的問(wèn)題

    springboot中swagger、異步/定時(shí)/郵件任務(wù)的問(wèn)題

    這篇文章主要介紹了springboot中swagger、異步/定時(shí)/郵件任務(wù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Java實(shí)現(xiàn)簡(jiǎn)單局域網(wǎng)聊天室

    Java實(shí)現(xiàn)簡(jiǎn)單局域網(wǎng)聊天室

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單局域網(wǎng)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評(píng)論

大田县| 临猗县| 丰宁| 涟水县| 隆化县| 义乌市| 吴堡县| 泰顺县| 法库县| 石首市| 德阳市| 林州市| 长岭县| 安徽省| 济南市| 那坡县| 正宁县| 仙游县| 屏山县| 大渡口区| 大同县| 建始县| 盱眙县| 饶河县| 通海县| 宿迁市| 米泉市| 阳原县| 房产| 绿春县| 临泽县| 温宿县| 凤阳县| 元朗区| 中卫市| 方城县| 桦川县| 云梦县| 东丰县| 天祝| 江安县|