zoukankan      html  css  js  c++  java
  • 读取yml 文件中的参数

    第一种方法:

    yml 文件:

    spring:
    main:
    allow-bean-definition-overriding: true
    cloud:
    consul:
    host: 192.168.1.1
    port: 8500
    discovery:
    enabled: true
    prefer-ip-address: true
    instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
    #健康检查失败后10秒会注销该服务
    health-check-critical-timeout: 10s
    config:
    fail-fast: true
    redis:
    open: true # 是否开启redis缓存 true开启 false关闭
    database: 0
    host: 192.168.1.1
    port: 6379
    password: aaa123 # 密码(默认为空)
    timeout: 6000ms # 连接超时时长(毫秒)
    jedis:
    pool:
    max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
    max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
    max-idle: 20 # 连接池中的最大空闲连接
    min-idle: 5 # 连接池中的最小空闲连接

    2: 使用:

    @Aspect
    @Configuration
    public class RedisAspect {
    private Logger logger = LoggerFactory.getLogger(getClass());
    //是否开启redis缓存 true开启 false关闭
    @Value("${spring.redis.open: false}")
    private boolean open;

    @Around("execution(* com.zhangtao.common.utils.RedisUtils.*(..))")
    public Object around(ProceedingJoinPoint point) throws Throwable {
    Object result = null;
    if(open){
    try{
    result = point.proceed();
    }catch (Exception e){
    logger.error("redis error", e);
    throw new RRException("Redis服务异常");
    }
    }
    return result;
    }
    }

    第二种方法:

    1: 在yml 中设置参数:

    umeng:
    push:
    androidAppKey: 5580e58867e58e44f2000000
    androidAppMasterSecret: iyqviswd8fynx5snbpga9og9vg000000
    iosAppKey: 55b9e72c67e58e1cbc000000
    iosAppMasterSecret: liubgwrxmtyh83n03muqkwgvu000000
    productionMode: false

    2:新建class 文件:
    @Configuration
    @ConfigurationProperties(prefix = "umeng.push")
    public class UmengConfig {
    
        private String androidAppKey;
    
        private String androidAppMasterSecret;
    
        private String iosAppKey;
    
        private String iosAppMasterSecret;
    
        private boolean productionMode;
    
        private String aliasType;
    
        public String getAndroidAppKey() {
            return androidAppKey;
        }
    
        public void setAndroidAppKey(String androidAppKey) {
            this.androidAppKey = androidAppKey;
        }
    
        public String getAndroidAppMasterSecret() {
            return androidAppMasterSecret;
        }
    
        public void setAndroidAppMasterSecret(String androidAppMasterSecret) {
            this.androidAppMasterSecret = androidAppMasterSecret;
        }
    
        public String getIosAppKey() {
            return iosAppKey;
        }
    
        public void setIosAppKey(String iosAppKey) {
            this.iosAppKey = iosAppKey;
        }
    
        public String getIosAppMasterSecret() {
            return iosAppMasterSecret;
        }
    
        public void setIosAppMasterSecret(String iosAppMasterSecret) {
            this.iosAppMasterSecret = iosAppMasterSecret;
        }
    
        public boolean isProductionMode() {
            return productionMode;
        }
    
        public void setProductionMode(boolean productionMode) {
            this.productionMode = productionMode;
        }
    
        public String getAliasType() {
            return aliasType;
        }
    
        public void setAliasType(String aliasType) {
            this.aliasType = aliasType;
        }
    }

    3: 使用yml 中的参数:

    在另外的class 中:

    先注入:

    @Autowired
    private UmengConfig umengProperty;

    即可在方法中使用:
    IOSUnicast unicast = new IOSUnicast(umengProperty.getIosAppKey(), umengProperty.getIosAppMasterSecret());
  • 相关阅读:
    长进程后用电脑发送提示消息到手机微信
    python-openCV 绘制图形
    python调用C++实例:用C++对numpy执行BFS(广度优先搜索)
    numpy中多维数组的绝对索引
    python调用C++ DLL 传参技巧
    React 中常见的动画实现方式
    H5和android原生APP之间的区别
    【转发】三层架构、MVC以及与SSM架构的对应关系(通俗易懂)
    VS code 设置中文后没有反应仍然是英文
    从数据库中获取信息显示在select下拉框中并实现联动
  • 原文地址:https://www.cnblogs.com/z360519549/p/11688768.html
Copyright © 2011-2022 走看看