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

  • 相关阅读:
    linux_批量关闭进程
    latex_引用参考文献格式,引用多篇参考文献
    vue跨域解决方法
    vue点击返回顶部插件vue-totop
    百度分享vue版-vshare
    vue项目引入社交分享插件
    vshare
    vue分享插件
    EFCore使用SQL语句
    JDBC Request :Cannot load JDBC driver class 'com.mysql.jdbc.Driver'解决办法
  • 原文地址:https://www.cnblogs.com/qiqisx/p/9352404.html
Copyright © 2011-2022 走看看