最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Spring系列(六):@Conditional注解用法介紹

2022-04-05 16:28 作者:IT技術分享社區(qū)  | 我要投稿

今天給大家介紹@Conditional懶加載注解用法,希望對大家能有所幫助!? ? ? ?

? ? ? ?

1、@Conditional注解介紹

@Conditional是Spring4版本新提供的一種注解,它的作用是按照設定的條件進行判斷,把滿足判斷條件的bean注冊到Spring容器。


2、@Conditional的源碼內容如下:

說明:

  • @Conditional可以作用在方法上,也可以作用在類上。

  • 使用的時候需要傳入實現Condition接口類數組。

  • 如果是類和方法都加了@Conditional注解,最終在方法上的注解為最終的條件,如果返回true則加入容器,反之不會加入容器。

  • 如果只是類上加了@Conditional注解,整個類的所有方法都會加入容器中。


3、用法示例

3.1 新建Book.java 文件


3.2 CNCondition.java 文件


3.3 ZHCondition.java 文件



3.4 新建TestConditionalConfig.java 配置文件



3.5 新建TestConditional.java 測試文件



4、@Conditional應用場景

在一些需要條件滿足才是實例化的類中,使用此注解,

比如項目中需要根據不同的場景使用不同的消息中間件,在消息隊列的實例化bean上,使用@Conditional注解,根據配置文件的不同,來判斷哪個bean需要加載到Spring容器中。

5、@Conditional的擴展注解


@ConditionalOnBean:僅在當前上下文中存在某個對象時,才會實例化一個Bean。 @ConditionalOnClass:某個class位于類路徑上,才會實例化一個Bean。 @ConditionalOnExpression:當表達式值為true的時候,才會實例化一個Bean。 @ConditionalOnMissingBean:僅僅在當前上下文中不存在某個對象時,才會實例化一個Bean。 @ConditionalOnMissingClass:某個class類路徑上不存在的時候,才會實例化一個Bean。 @ConditionalOnNotWebApplication:非web應用,才會實例化一個Bean。 @ConditionalOnBean:當容器中有指定Bean的條件下進行實例化。 @ConditionalOnMissingBean:當容器里沒有指定Bean的條件下進行實例化。 @ConditionalOnClass:當classpath類路徑下有指定類的條件下進行實例化。 @ConditionalOnMissingClass:當類路徑下沒有指定類的條件下進行實例化。 @ConditionalOnWebApplication:當項目是一個Web項目時進行實例化。 @ConditionalOnNotWebApplication:當項目不是一個Web項目時進行實例化。 @ConditionalOnProperty:當指定的屬性有指定的值時進行實例化。 @ConditionalOnExpression:基于SpEL表達式的條件判斷。 @ConditionalOnJava:當JVM版本為指定的版本范圍時觸發(fā)實例化。 @ConditionalOnResource:當類路徑下有指定的資源時觸發(fā)實例化。 @ConditionalOnJndi:在JNDI存在的條件下觸發(fā)實例化。 @ConditionalOnSingleCandidate:當指定的Bean在容器中只有一個,或者有多個但是指定了首選的Bean時,才會觸發(fā)實例化。





Spring系列(六):@Conditional注解用法介紹的評論 (共 條)

分享到微博請遵守國家法律
盖州市| 古蔺县| 兴宁市| 太仓市| 皋兰县| 大宁县| 延吉市| 顺昌县| 沙洋县| 山东省| 阜新市| 洮南市| 墨江| 裕民县| 鄂州市| 崇左市| 武邑县| 芮城县| 蓬溪县| 南汇区| 南和县| 邻水| 邢台市| 沈丘县| 东海县| 承德市| 精河县| 资阳市| 饶平县| 湟源县| 西宁市| 江华| 郯城县| 犍为县| 和林格尔县| 山阴县| 南京市| 十堰市| 江西省| 青铜峡市| 高安市|