Java中的@Conditional條件注解詳細解析
更新時間:2023年11月28日 09:23:51 作者:明天天明~
這篇文章主要介紹了Java中的@Conditional條件注解詳細解析,@Conditional是Spring4新提供的注解,它的作用是按照一定的條件進行判斷,滿足條件給容器注冊bean,需要的朋友可以參考下
@Conditional條件注解
@Conditional是Spring4新提供的注解,它的作用是按照一定的條件進行判斷,滿足條件給容器注冊bean。
@Conditional的定義:
//此注解可以標注在類和方法上 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Conditional { Class<? extends Condition>[] value(); }
例子:當存在name為tom的組件時,創(chuàng)建user01組件。可以標注在方法上也可以標注在類上
@ConditionalOnBean(name = "tom") //當容器中沒有tom組件 就不注冊user01組件,也能將其標注在類上 @Bean public User user01(){ User user = new User(); user.setName("zhangao"); user.setAge(12); user.setPet(tomcat());//這個pet就是容器中的pet return user; }
- @ConditionalOnJava | 系統(tǒng)的java版本是否符合要求
- @ConditionalOnBean | 容器中存在指定Bean;
- @ConditionalOnMissingBean | 容器中不存在指定Bean;
- @ConditionalOnExpression | 滿足SpEL表達式指定
- @ConditionalOnClass | 系統(tǒng)中有指定的類
- @ConditionalOnMissingClass | 系統(tǒng)中沒有指定的類
- @ConditionalOnSingleCandidate | 容器中只有一個指定的Bean,或者這個Bean是首選Bean
- @ConditionalOnProperty | 系統(tǒng)中指定的屬性是否有指定的值
- @ConditionalOnResource | 類路徑下是否存在指定資源文件
- @ConditionalOnWebApplication | 當前是web環(huán)境
- @ConditionalOnNotWebApplication | 當前不是web環(huán)境
- @ConditionalOnJndi | JNDI存在指定項
到此這篇關于Java中的@Conditional條件注解詳細解析的文章就介紹到這了,更多相關@Conditional條件注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java實現(xiàn)Consul/Nacos根據(jù)GPU型號、顯存余量執(zhí)行負載均衡的步驟詳解
這篇文章主要介紹了Java實現(xiàn)Consul/Nacos根據(jù)GPU型號、顯存余量執(zhí)行負載均衡的步驟詳解,本文分步驟結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2025-04-04SpringBoot_Cache自定義使用SimpleCacheManager方式
這篇文章主要介紹了SpringBoot_Cache自定義使用SimpleCacheManager方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07