日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java filter 注解_Spring常用注解及自定义Filter的实现

發布時間:2025/3/19 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java filter 注解_Spring常用注解及自定义Filter的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@Configuration通常用在配置類上,告訴spring這是一個配置類(配置類類似配置文件,區別在于用類的形式來表現xml;

@Service用于標注業務層組件service層,

@Controller用于標注控制層組件(如struts中的action) ,

@Repository用于標注數據訪問組件,即DAO組件,

@component把普通pojo實例化到spring容器中,相當于配置文件中的?

使用@Configuration會掃描以上四種注解聲明的類。

@Bean在配置類中使用時,表示這是一個JavaBean。

例如:

//配置類 == 配置文件

@ComponentScan(value = "com.spring") // 告訴spring這個是一個配置類

})

public class MainConfig {

// 注冊一個bean,類型為返回值的類型,id默認用方法名

@Bean

public Person person1() {

return new Person("張三", 20);

}

//可以為bean定義id

@Bean("student")

public Person person2() {

return new Person("韓梅梅", 12);

}

}

@ComponentSan value:指定要掃描的包

excludeFilters = Filter[] :指定掃描的時候按照什么規則排除哪些組件

includeFilters = Filter[] :指定掃描的時候只需要包含哪些組件

FilterType.ANNOTATION:注解類型

FilterType.ASSIGNABLE_TYPE:按照指定的類型,如指定BookService,會查找BookService本身,及其子類

FilterType.ASPECTJ:使用ASPECTJ表達式,不經常使用

FilterType.REGEX:使用正則表達式

FilterType.CUSTOM:使用自定義表達式

@ComponentScan排除掃描類型

@ComponentScan(value = "com.spring", excludeFilters = {//排除指定的掃描類型

//過濾注解類型 @Controller @Repository

@Filter(type = FilterType.ANNOTATION, classes = { Controller.class,Repository.class })

})

@ComponentScan掃描指定類型

@ComponentScan(value = "com.spring", includeFilters = {//指定的掃描類型

//過濾注解類型 @Controller @Repository

@Filter(type = FilterType.ANNOTATION, classes = { Controller.class,Repository.class })

},useDefaultFilters = false)//注意,使用掃描指定類型時,需要配置useDefaultFilters = false 禁用默認規則

@ComponentScans可以理解為@ComponentScan數組,可以配置多個@ComponentScan

@ComponentScans(value= {

@ComponentScan(value = "com.spring", includeFilters = {//指定的掃描類型

//過濾注解類型 @Controller @Repository

@Filter(type = FilterType.ANNOTATION, classes = { Controller.class,Repository.class }) ,

//指定類型

@Filter(type = FilterType.ASSIGNABLE_TYPE,classes = (BookService.class)),

//自定義

@Filter(type = FilterType.CUSTOM,classes = (MyTypeFilter.class))

},useDefaultFilters = false)//注意,使用掃描指定類型時,需要配置useDefaultFilters = false 禁用默認規則

})

自定義包含規則

public class MyTypeFilter implements TypeFilter {

/**

* 返回true匹配成功,返回false匹配失敗

* metadataReader 讀取到的當前正在掃描的類的信息

* metadataReaderFactory 可以獲取到其他任何類的信息

*/

public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)

throws IOException {

//獲取當前類注解的信息

AnnotationMetadata nnnotationmetadata = metadataReader.getAnnotationMetadata();

//獲取當前正在掃描的類的類信息

ClassMetadata classMetadata = metadataReader.getClassMetadata();

//獲取當前類的資源信息(類的路徑)

Resource resource = metadataReader.getResource();

String className = classMetadata.getClassName();

System.out.println(">>>>"+className);

if(className.contains("er")) {

return true;

}

return false;

}

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的java filter 注解_Spring常用注解及自定义Filter的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。