zoukankan      html  css  js  c++  java
  • springboot中中Conditional相关注解

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

     

    • @ConditionalOnBean(主要在BeanFactory类中匹配)

          Class<?>[] value() default {} //类名 .class  容器中存在该类就加载该配置
         String[] type() default {}  //   容器中存在该类就加载该配置 一般配置全限定性类名
         String[] name() default {}; //bean 在sprin容器中的名称,默认为类名第一个字母小写
      • @ConditionalOnProperty

        name 和 prefix 组合获取 application.yml配置 (prefix.name),如果不配置prefix,name不支持嵌套

        比如spring.cache 直接 配置在name (name="spring.cache")上获取不到;要这样配置( prefix="spring",name="cache");前面获取到值与havingValue 设置的值进行比较,比较的结果依据matchIfMissing值设定来确定是否加载该配置类,默认matchIfMissing为false, 两者值相等就进行加载,否则不加载

      表达式为true 的时候加载 配置类 (supported a SpEL expression.)

      • @ConditionalOnExpression

       

      •    Class<?>[] value() default {}; //类名.class   
          String[] name() default {}; //类名是否存在 一般配置全限定性类名
      • @ConditionalOnMissingClass 和 @ConditionalOnClass 相同配置作用相反

      • @ConditionalOnMissingBean 和 @ConditionalOnBean 相同配置作用相反

      • @ConditionalOnClass(是否存在该类,存在该类就加载该类配置(和容器没有关系))

  • 相关阅读:
    bzoj3675 [Apio2014]序列分割
    bzoj3206 [Apio2013]道路费用
    bzoj3205 [Apio2013]机器人
    bzoj4241 历史研究
    bzoj2821 作诗(Poetize)
    bzoj2724 [Violet 6]蒲公英
    bzoj2811 [Apio2012]Guard
    bzoj2809 [Apio2012]dispatching
    PHP 文字,图片水印,缩略图,裁切成小图(大小变小)
    PHP文件下载方式
  • 原文地址:https://www.cnblogs.com/caibixiang123/p/10987591.html
Copyright © 2011-2022 走看看