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

Spring常用注解及自定義Filter的實(shí)現(xiàn)

 更新時(shí)間:2019年08月16日 09:43:41   作者:碼莎拉蒂  
這篇文章主要介紹了Spring常用注解及自定義Filter的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

@Service用于標(biāo)注業(yè)務(wù)層組件service層,

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

@Repository用于標(biāo)注數(shù)據(jù)訪問組件,即DAO組件,

@component把普通pojo實(shí)例化到spring容器中,相當(dāng)于配置文件中的 <bean id="" class=""/>

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

@Bean在配置類中使用時(shí),表示這是一個(gè)JavaBean。

例如:

//配置類 == 配置文件
@ComponentScan(value = "com.spring") // 告訴spring這個(gè)是一個(gè)配置類
})
public class MainConfig {
 
 // 注冊一個(gè)bean,類型為返回值的類型,id默認(rèn)用方法名
 @Bean
 public Person person1() {
 return new Person("張三", 20);
 }
 
  //可以為bean定義id
 @Bean("student")
 public Person person2() {
 return new Person("韓梅梅", 12);
 }
 
}

@ComponentSan value:指定要掃描的包
    excludeFilters = Filter[] :指定掃描的時(shí)候按照什么規(guī)則排除哪些組件
    includeFilters = Filter[] :指定掃描的時(shí)候只需要包含哪些組件
        FilterType.ANNOTATION:注解類型
        FilterType.ASSIGNABLE_TYPE:按照指定的類型,如指定BookService,會(huì)查找BookService本身,及其子類
        FilterType.ASPECTJ:使用ASPECTJ表達(dá)式,不經(jīng)常使用
        FilterType.REGEX:使用正則表達(dá)式
        FilterType.CUSTOM:使用自定義表達(dá)式

@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)//注意,使用掃描指定類型時(shí),需要配置useDefaultFilters = false 禁用默認(rèn)規(guī)則

@ComponentScans可以理解為@ComponentScan數(shù)組,可以配置多個(gè)@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)//注意,使用掃描指定類型時(shí),需要配置useDefaultFilters = false 禁用默認(rèn)規(guī)則
})

自定義包含規(guī)則

public class MyTypeFilter implements TypeFilter {
 
 /**
  * 返回true匹配成功,返回false匹配失敗 
 * metadataReader 讀取到的當(dāng)前正在掃描的類的信息
 * metadataReaderFactory 可以獲取到其他任何類的信息
 */
 public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)
  throws IOException {
 //獲取當(dāng)前類注解的信息
 AnnotationMetadata nnnotationmetadata = metadataReader.getAnnotationMetadata();
 //獲取當(dāng)前正在掃描的類的類信息
 ClassMetadata classMetadata = metadataReader.getClassMetadata();
 //獲取當(dāng)前類的資源信息(類的路徑)
 Resource resource = metadataReader.getResource();
 
 String className = classMetadata.getClassName();
 System.out.println(">>>>"+className);
 if(className.contains("er")) {
  return true;
 }
 return false;
 }
 
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringDataJpa的使用之一對(duì)一、一對(duì)多、多對(duì)多?關(guān)系映射問題

    SpringDataJpa的使用之一對(duì)一、一對(duì)多、多對(duì)多?關(guān)系映射問題

    這篇文章主要介紹了SpringDataJpa的使用?--?一對(duì)一、一對(duì)多、多對(duì)多關(guān)系映射,本文主要講述?@OneToOne、@OneToMany、@ManyToOne、@ManyToMany?這四個(gè)關(guān)系映射注解的使用,以及其對(duì)應(yīng)的級(jí)聯(lián)關(guān)系,需要的朋友可以參考下
    2022-07-07
  • java實(shí)現(xiàn)網(wǎng)頁驗(yàn)證碼功能

    java實(shí)現(xiàn)網(wǎng)頁驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)網(wǎng)頁驗(yàn)證碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 淺談SpringBoot之開啟數(shù)據(jù)庫遷移的FlyWay使用

    淺談SpringBoot之開啟數(shù)據(jù)庫遷移的FlyWay使用

    這篇文章主要介紹了淺談SpringBoot之開啟數(shù)據(jù)庫遷移的FlyWay使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • 使用Mybatis如何實(shí)現(xiàn)刪除多個(gè)數(shù)據(jù)

    使用Mybatis如何實(shí)現(xiàn)刪除多個(gè)數(shù)據(jù)

    這篇文章主要介紹了使用Mybatis如何實(shí)現(xiàn)刪除多個(gè)數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java 重載(overload)與重寫(override)詳解及實(shí)例

    java 重載(overload)與重寫(override)詳解及實(shí)例

    這篇文章主要介紹了java 重載(overload)與重寫(override)詳解及實(shí)例的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下
    2016-10-10
  • 責(zé)任鏈模式在spring security過濾器鏈中的應(yīng)用小結(jié)

    責(zé)任鏈模式在spring security過濾器鏈中的應(yīng)用小結(jié)

    責(zé)任鏈模式在SpringSecurity過濾器鏈中的應(yīng)用,通過一系列的過濾器按順序處理請(qǐng)求,每個(gè)過濾器負(fù)責(zé)特定的安全功能,實(shí)現(xiàn)靈活且可擴(kuò)展的請(qǐng)求處理機(jī)制,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 基于MyBatis XML配置方法(全面了解)

    基于MyBatis XML配置方法(全面了解)

    下面小編就為大家?guī)硪黄贛yBatis XML配置方法(全面了解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java Redis Template批量查詢指定鍵值對(duì)的實(shí)現(xiàn)

    Java Redis Template批量查詢指定鍵值對(duì)的實(shí)現(xiàn)

    本文主要介紹了Java Redis Template批量查詢指定鍵值對(duì)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Minio?上傳文件請(qǐng)求負(fù)載原理解析

    Minio?上傳文件請(qǐng)求負(fù)載原理解析

    MinIO集群通過分布式存儲(chǔ)和負(fù)載均衡機(jī)制實(shí)現(xiàn)文件上傳請(qǐng)求的分發(fā),核心原理包括數(shù)據(jù)分片和冗余、負(fù)載均衡、一致性哈希和并行處理,Java示例展示了如何實(shí)現(xiàn)文件上傳分發(fā)邏輯,感興趣的朋友一起看看吧
    2025-03-03
  • Idea去除方法形參參數(shù)提示的操作

    Idea去除方法形參參數(shù)提示的操作

    這篇文章主要介紹了Idea去除方法形參參數(shù)提示的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評(píng)論

吴川市| 武定县| 五指山市| 松阳县| 北辰区| 虎林市| 视频| 衡南县| 云南省| 西昌市| 博白县| 洛南县| 霍山县| 阿鲁科尔沁旗| 敦化市| 邵武市| 宜兴市| 周口市| 远安县| 三门峡市| 鄄城县| 文山县| 唐河县| 保靖县| 井陉县| 天全县| 通化县| 永平县| 兰西县| 白玉县| 烟台市| 临沧市| 中阳县| 黄龙县| 武冈市| 神池县| 聊城市| 赣榆县| 舞钢市| 当雄县| 闵行区|