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());
  • 相关阅读:
    unix文件权限
    jira部署,主机迁移,数据库迁移,jira
    c函数习记
    常用软介质下载
    Matlab interpgui
    LightOJ 1422
    【CODEFORCES】 A. Keyboard
    leetcode 230: Kth Smallest Element in a BST
    Vertica7 Native Connection Load Balance
    vlc模块间共享变量
  • 原文地址:https://www.cnblogs.com/z360519549/p/11688768.html
Copyright © 2011-2022 走看看