目录
- 概述
- 扩展
- 类条件
- Bean条件
- 属性条件
- 资源条件
- Web应用程序条件
概述
SpringBoot的最大特点:自动配置
扩展
类条件
- @ConditionalOnClass
- 当Spring加载 的Bean被@ConditionalOnClass注解标记时,类加载器会先找到指定的Class
- 如果没有找到目标Class,那么被ConditionalOnclass注解标记的类不会被Spring执行。
- @ConditionalOnMissingClass
- ConditionalOnMissingClass是指如果没有找到目标Class,那么被 Spring 执行
Bean条件
- @ConditionalOnBean
- 当Spring加载的Bean被@ConditionalOnBean注解标记时
- 会先找到指定的Bean,如果没有找到目标Bean,那被@ConditionalOnBean标记的类不会被 Spring 执行
- @ConditionalOnMissingBean
- 和上述相反,找不到对应的bean则会被Spring执行
属性条件
@ConditionalOnProperty 基于Spring Environment 属性包含的配置
资源条件
@ConditionalOnResource 允许只在出现特定资源时才被Spring执行
@Bean
@ConditionalOnResource(resources="file:/home/user/jdbc.yaml")
public CustomConfig loadConfig(){}
Web应用程序条件
@ConditionalOnWebApplication @ConditionOnNotWebApplication






![[论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG](https://img-blog.csdnimg.cn/img_convert/f33b9bc571cdf8322c5a56011f9849be.png)





![[leetcode]kth-smallest-element-in-a-sorted-matrix 有序矩阵中第k小元素](https://i-blog.csdnimg.cn/direct/5fdc8a3f0a5e434f9d71c8373cd18bd7.png)






