spring boot排除掃瞄類的三種方式

2021-09-26 00:00:43 字數 1915 閱讀 7673

最近在做單測的時候,由於自己配置的spring boot容器會預設掃瞄很多不想被載入,網上中文的文章並不多,所以來總結一下。

預設下面描述的類都在乙個包下面。

public class test

}

@configuration

public class myconfig

@override

public object postprocessafterinitialization(object bean, string beanname) throws bean***ception };}

}

我們可以啟動應用發現輸出

初始化了 bean beanpostprocessor

載入了bean org.springframework.context.event.internaleventlistenerprocessor

載入了bean org.springframework.context.event.internaleventlistene***ctory

載入了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

說明被@configuration 修飾的類myconfig本身被掃瞄了。

@componentscan(excludefilters = )})

public class test }

用componentscan的excludefilters屬性,可以明確排除調需要掃瞄的類。

但是這裡存在乙個問題,如果要排除的模擬較多,那這裡會看起來很冗餘。我們可以採用第二種方式。註解排除。

public @inte***ce ignorescan
新建此註解。

在需要忽略的類上新增:

@configuration

@ignorescan

public class myconfig

@override

public object postprocessafterinitialization(object bean, string beanname) throws bean***ception };}

}

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

個人覺得這樣的需求還是很適合整合在框架裡去的。

看了此篇文章是不是感覺收穫蠻大

springboot 排除內嵌的tomcat方法

因為曾經面試被這個攔住過,所以自己寫乙個總結了下,內容都是 於網路 springboot啟動會去使用內嵌的tomcat伺服器,但是我們通常開發都是自己配置,所以需要有去掉這個配置的要求 1.方法一 org.springframework.boot spring boot starter web or...

Spring Boot排除自動配置的方法

spring boot 提供的自動配置非常強大,某些情況下,自動配置的功能可能不符合我們的需求,需要我們自定義配置,這個時候就需要排除 禁用 spring boot 某些類的自動化配置了。比如 資料來源 郵件,這些都是提供了自動配置的,我們需要排除 spring boot 的自動化配置,交給我們自己...

SpringBoot學習之包掃瞄

帶著這樣乙個問題出發,為什麼需要將檔案放在啟動類所在包及子包才能被springboot自動掃瞄並註冊bean?springboot會掃瞄啟動類所在包及子包的所有檔案,並將其註冊bean到容器中,應該是啟動時自動掃瞄,具體實現需要看原始碼。package com.zrk.springboot publ...