@Conditional(TestCondition.class)

这句代码可以标注在类上面,表示该类下面的所有@Bean都会启用配置,也可以标注在方法上面,只是对该方法启用配置。

spring框架还提供了很多@Condition给我们用,当然总结用语哪种好理解,看给位读者喽

@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用)

@ConditionalOnClass : classpath中存在该类时起效
@ConditionalOnMissingClass : classpath中不存在该类时起效
@ConditionalOnBean : DI容器中存在该类型Bean时起效
@ConditionalOnMissingBean : DI容器中不存在该类型Bean时起效
@ConditionalOnSingleCandidate : DI容器中该类型Bean只有一个或@Primary的只有一个时起效
@ConditionalOnExpression : SpEL表达式结果为true时
@ConditionalOnProperty : 参数设置或者值一致时起效
@ConditionalOnResource : 指定的文件存在时起效
@ConditionalOnJndi : 指定的JNDI存在时起效
@ConditionalOnJava : 指定的Java版本存在时起效
@ConditionalOnWebApplication : Web应用环境下起效
@ConditionalOnNotWebApplication : 非Web应用环境下起效

@Configuration
@ConditionalOnWebApplication(
type = Type.SERVLET
)
@ConditionalOnClass({Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class})
@ConditionalOnMissingBean({WebMvcConfigurationSupport.class})
@AutoConfigureOrder(-)
@AutoConfigureAfter({DispatcherServletAutoConfiguration.class, ValidationAutoConfiguration.class})
public class WebMvcAutoConfiguration {
...猜测,Spring boot 在此处加载 application.properties 中关于MVC的默认配置;如果@Conditional返回false,则该配置类不执行
}

最新文章

  1. HttpWebRequest向路由器提交基本身份验证
  2. C#编程总结(十三)数据压缩
  3. C#开发和调用Web Service
  4. hdu Hike on a Graph
  5. Linux64位服务器编译安装MySQL5.6(CentOS6.4)
  6. 查看Linux系统网卡信息
  7. CodeForces 527B
  8. LeetCode解题报告:Insertion Sort List
  9. android 强制设置横屏 判断是横屏还是竖屏
  10. java.util.ArrayList、java.util.vector和java.util.LinkedList (JDK 1.8.0_111)
  11. LeetCode - 185. Department Top Three Salaries
  12. IMDb、烂番茄、MTC、各种电影行业评分名字整理
  13. 《React Native 精解与实战》书籍连载「配置 iOS 与 Android 开发环境」
  14. python中$和@基础笔记
  15. [P2119]魔法阵 (模拟?搜索?)
  16. Android应用安全之脆弱的加密
  17. 如何安装docker-compose
  18. 第一个map reduce程序
  19. Specify Computed Columns in a Table
  20. SQLSERVER 内存占用高的处理方式

热门文章

  1. python 34 多进程(二)
  2. 玩转SpringBoot 2 之项目启动篇
  3. coco标注信息与labelme标注信息的详解、相互转换及可视化
  4. 理解Js的parseInt(转)
  5. 五大典型场景中的API自动化测试实践
  6. c#中的委托01
  7. cogs1709. [SPOJ 705] 不同的子串(后缀数组
  8. CodeForces 592D Super M DP
  9. codeforces 749D Leaving Auction(二分)
  10. CodeForces 758 C Unfair Poll