zoukankan      html  css  js  c++  java
  • ________________初学springboot7

    Condition自动配置

    @Conditional配合condition接口使用,只有借口的实现类返回true,才会装配

    使用在方法上只对方法有效,使用在类上,对类所有方法有效

    也可以传多个参数,表示这些参数都返回true才会装配

    @SpringBootConfiguration

    public class EncodingConvertConfiguration {

    @Bean

    @Conditional(UTF8Condition.class)

    public EncodingConvert createUTF8EncodingConvert() {

    return new UTF8EncodingConvert();

    }

    @Bean

    @Conditional(GBKCondition.class)

    public EncodingConvert createGBKEncodingConvert() {

    return new GBKEncodingConvert();

    }

    }

    public class UTF8Condition implements Condition {

    @Override

    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {

    String encoding=System.getProperty("file.encoding");

    if(encoding!=null) {

    return "utf-8".equals(encoding.toLowerCase());

    }

    return false;

    }

    }

    maven springboot jar包下 condition 的子类

    @conditiononclass 这个类存在的情况下才装配

    @conditiononproperties  这个属性跟值匹配的情况下才装配。 matchIfMissing=true 找不到也返回true

     @conditiononbean 根据容器中是否存在某个bean来装配

     @conditiononmissingbean 根据容器中不在某个bean来装配

    修改系统默认编码 启动项 -Dfile.encoding=GBK

  • 相关阅读:
    Log4j中conversionPattern的含义
    log4j.xml写入数据库,只有SQL和参数,无其他信息
    windows下根据进程ID强制杀死进程
    github简单使用教程
    junit mockito
    获取oracle 随机数
    循环插入oracle 存储过程
    2.1. 创建GitHub账号
    oracle 复制表结构表数据
    命令模式
  • 原文地址:https://www.cnblogs.com/qiqisx/p/9352404.html
Copyright © 2011-2022 走看看