關(guān)于@ComponentScan?TypeFilter自定義指定掃描bean的規(guī)則
@ComponentScan TypeFilter自定義指定掃描bean的規(guī)則
1.FilterType.CUSTOM 自定義過濾方式
@Configuration @ComponentScan(value = "com.wjy",useDefaultFilters = false,includeFilters = { @Filter(type = FilterType.CUSTOM,value = {MyFilterType.class}) }) public class Config { public static void main(String[] args) { var annotationConfigApplicationContext = new AnnotationConfigApplicationContext(Config.class); var beanNames = annotationConfigApplicationContext.getBeanDefinitionNames(); //打印所有的掃描到的bean Arrays.stream(beanNames).forEach(e -> System.out.println(e)); } }
自定義過濾類:所有包含“service”的類名都掃描進(jìn)來
public class MyFilterType implements TypeFilter { /** * * @param metadataReader 讀取到的當(dāng)前正在掃描的信息 * @param metadataReaderFactory 可以獲取到其他任何類的信息的 * @return * @throws IOException */ @Override public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { //獲取當(dāng)前類注解信息 var annotationMetadata = metadataReader.getAnnotationMetadata(); //獲取當(dāng)前正在掃描類信息 var classMetadata = metadataReader.getClassMetadata(); //獲取當(dāng)前類路徑 var resource = metadataReader.getResource(); if(annotationMetadata.getClassName().toLowerCase().contains("service")){ return true; } return false; } }
@ComponentScan ANNOTATION type filter requires an annotation type
異常
訪問 http://localhost/save 時 控制臺報錯
@ComponentScan ANNOTATION type filter requires an annotation type
原因
我們在SpringConfig Bean管理掃描范圍時想給不排除掉的Bean設(shè)置 ANNOTATION排除規(guī)則時,指定錯了classes屬性 的類型,所以報如上錯誤??
錯誤代碼
修改后:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實現(xiàn)字符串匹配求兩個字符串的最大公共子串
這篇文章主要介紹了java實現(xiàn)求兩個字符串最大公共子串的方法,詳細(xì)的描述了兩個字符串的最大公共子串算法的實現(xiàn),需要的朋友可以參考下2016-10-10springboot整合mail實現(xiàn)郵箱的發(fā)送功能
本文分步驟給大家介紹springboot整合mail實現(xiàn)郵箱的發(fā)送功能,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09MyBatis使用嵌套查詢collection和association的實現(xiàn)
本文詳細(xì)介紹了使用MyBatis框架進(jìn)行數(shù)據(jù)庫操作時,如何利用collection標(biāo)簽實現(xiàn)一對多的嵌套查詢和使用association標(biāo)簽實現(xiàn)一對一的嵌套查詢,感興趣的可以了解一下2024-09-09list轉(zhuǎn)tree和list中查找某節(jié)點下的所有數(shù)據(jù)操作
這篇文章主要介紹了list轉(zhuǎn)tree和list中查找某節(jié)點下的所有數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09idea快速找到項目中對應(yīng)的類圖文詳解(包括源碼)
用IDEA開發(fā)Java項目時經(jīng)常會使用到各種快捷鍵,其中搜索是最常用的之一,下面這篇文章主要給大家介紹了關(guān)于idea如何快速找到項目中對應(yīng)的類(包括源碼)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式
本文主要介紹了阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式,文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Java新特性中Preview功能如何運(yùn)行調(diào)試詳解
這篇文章主要為大家介紹了Java新特性中Preview功能如何運(yùn)行調(diào)試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10