欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot @Conditional注解用法示例介紹

 更新時間:2019年11月17日 10:59:03   作者:smileNicky  
這篇文章主要給大家介紹了關于Spring Boot @Conditional注解用法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

引用Spring官方文檔的說法介紹一下@Conditional注解:Spring5.0.15版本@Conditional注解官方文檔

@Conditional表示僅當所有指定條件都匹配時,組件才有資格注冊 。

該@Conditional注釋可以在以下任一方式使用:

  • 作為任何@Bean方法的方法級注釋
  • 作為任何類的直接或間接注釋的類型級別注釋 @Component,包括@Configuration類
  • 作為元注釋,目的是組成自定義構造型注釋

改注解主要源碼之一,通過match匹配,符合條件才裝載到Spring容器

@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
 if (context.getEnvironment() != null) {
  // Read the @Profile annotation attributes
  MultiValueMap<String, Object> attrs = metadata.getAllAnnotationAttributes(Profile.class.getName());
  if (attrs != null) {
   for (Object value : attrs.get("value")) {
    if (context.getEnvironment().acceptsProfiles(((String[]) value))) {
     return true;
    }
   }
   return false;
  }
 }
 return true;
}

作用:總而言之,只有@Conditional指定的條件成立,才給容器添加組件

@Conditional派生注解:@Conditional派生了很多注解,下面給個表格列舉一下派生注解的用法

@Conditional派生注解 作用(都是判斷是否符合指定的條件)
@ConditionalOnJava 系統(tǒng)的java版本是否符合要求
@ConditionalOnBean 有指定的Bean類
@ConditionalOnMissingBean 沒有指定的bean類
@ConditionalOnExpression 符合指定的SpEL表達式
@ConditionalOnClass 有指定的類
@ConditionalOnMissingClass 沒有指定的類
@ConditionalOnSingleCandidate 容器只有一個指定的bean,或者這個bean是首選bean
@ConditionalOnProperty 指定的property屬性有指定的值
@ConditionalOnResource 路徑下存在指定的資源
@ConditionalOnWebApplication 系統(tǒng)環(huán)境是web環(huán)境
@ConditionalOnNotWebApplication 系統(tǒng)環(huán)境不是web環(huán)境
@ConditionalOnjndi JNDI存在指定的項

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • Mybatis中通過generator生成mapper、Dao、mapper.xml的方法

    Mybatis中通過generator生成mapper、Dao、mapper.xml的方法

    這篇文章主要介紹了Mybatis中通過generator生成mapper、Dao、mapper.xml的方法,需要的朋友可以參考下
    2017-01-01
  • Java 實戰(zhàn)練手項目之校園超市管理系統(tǒng)的實現(xiàn)流程

    Java 實戰(zhàn)練手項目之校園超市管理系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+Mysql+Maven+Bootstrap實現(xiàn)一個校園超市管理系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • java實現(xiàn)簡單控制臺通訊錄

    java實現(xiàn)簡單控制臺通訊錄

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單控制臺通訊錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • php 頁面之間傳值的三種方法實例代碼

    php 頁面之間傳值的三種方法實例代碼

    網(wǎng)站開發(fā)過程中,我們經(jīng)常需要在不同頁面之間進行值的傳遞。本文章向大家講解PHP頁面之間傳值的三種方法。需要的碼農(nóng)可以參考一下
    2016-10-10
  • 使用IDEA如何導入SpringBoot項目

    使用IDEA如何導入SpringBoot項目

    這篇文章主要介紹了使用IDEA如何導入SpringBoot項目問題,具有很好的參考價值,希望對大家有所幫助,
    2023-12-12
  • java枚舉enum和Enum類的使用

    java枚舉enum和Enum類的使用

    本文主要介紹了java枚舉enum和Enum類的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • MybatisPlus中的insert操作詳解

    MybatisPlus中的insert操作詳解

    這篇文章主要介紹了MybatisPlus中的insert操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java通過jedis連接redis的幾種常用方法

    Java通過jedis連接redis的幾種常用方法

    jedis封裝了redis原有的操作命令,使用起來很簡單,本文主要介紹了Java通過jedis連接redis的幾種常用方法,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • linux用java -jar啟動jar包緩慢的問題

    linux用java -jar啟動jar包緩慢的問題

    這篇文章主要介紹了linux用java -jar啟動jar包緩慢的問題,具有很好的參考價值,希望對大家有所幫助,
    2023-09-09
  • JAVA多種方法實現(xiàn)字符串反轉

    JAVA多種方法實現(xiàn)字符串反轉

    大家好,本篇文章主要講的是JAVA多種方法實現(xiàn)字符串反轉,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評論