将 yml 配置文件中的配置和 java 类对应

1、用到的核心注解@ConfigurationProperties(prefix = “yml配置文件中的一级前缀名”)

config:
  common-param-list:
    accounts-monitor-alarm-key: d4944f57-5c36-4818-9fc5-1f36da9f471e
    queue_prefix: ppe_build_ks_
  accounts:
    alarm-key: d4944f57-5c36-4818-9fc5-1f36da9f471e
    pid: magnetism-datacenter-platform-accounts-storage
  redis:
    datacenterKuaishouDb9:
#      db: 9
#      timeout: 600000
#      host: 127.0.0.1
#      port: 6379
#      password: Txx123
#      max-total: 200
#      max-idle: 200
#      max-wait-millis: 200000
#      min-idle: 10
      db: 9
      timeout: 600000
      host: 172.16.111.144
      port: 6384
      password: mwQPh5c1wI
      max-total: 200
      max-idle: 200
      max-wait-millis: 200000
      min-idle: 10
    spiderKuaishouDb7:
      db: 9
      timeout: 600000
      host: 127.0.0.1
      port: 6379
      password: Txx123
      max-total: 10
      max-idle: 10
      max-wait-millis: 200000
      min-idle: 2
#      db: 7
#      timeout: 600000
#      host: 172.16.111.44
#      port: 6392
#      password: Txx123
#      max-total: 10
#      max-idle: 10
#      max-wait-millis: 200000
#      min-idle: 2
  thread-pool:
    accountsFormat:
      core-poll-size: 5
      maximum-pool-size: 41
      keep-alive-time: 2000
      queue-capacity: 5
    accountsStorage:
      core-poll-size: 5
      maximum-pool-size: 41
      keep-alive-time: 2000
      queue-capacity: 5
    accountsToweiq:
      core-poll-size: 5
      maximum-pool-size: 41
      keep-alive-time: 2000
      queue-capacity: 5
    accountsCopy:
      core-poll-size: 5
      maximum-pool-size: 41
      keep-alive-time: 2000
      queue-capacity: 5
  kafka-topic-list:
    kuaishou-spider-platform-accounts-base-topic-id: kuaishou_platform_accounts_base_topic_origin
    kuaishou-datacenter-platform-accounts-base-topic-id: kuaishou_platform_accounts_base_topic_format
  kafka-group-id-list:
    kuaishou-datacenter-platform-accounts-group-id: datacenter-dev
  redis-key-list:
    zset-kuaishou-platform-accounts: ZSET:KUAISHOU:PLATFORM_ACCOUNTS_TEST #快手官方平台账号zset全量
    zset-kuaishou-everyday-platform-accounts: ZSET:KUAISHOU:EVERYDAY_PLATFORM_ACCOUNTS_TEST:{0} #快手官方平台账号zset全量 每日生成
    zset-kuaishou-cili-all-uid-zset: kuaishou_cili_all_uid_zset_test:{0} #快手官方平台账号zset全量 每日生成到爬虫
    zset-kuaishou-week-cili-all-uid-zset: kuaishou_week_cili_all_uid_zset_test:{0} #快手官方平台账号zset全量 每周一生成到爬虫
    list-kuaishou-platform-push-weiq-api: LIST:KUAISHOU:PLATFORM_ACCOUNTS:PUSH_WEIQ_API_TEST #原始数据returnDataVO队列,待封装后推送给weiq
    zset-kuaishou-everyday-platform-push-count: ZSET:KUAISHOU:EVERYDAY_PLATFORM_PUSH_COUNT_TEST:{0} #快手官方平台账号按接口类型区分的推送量 每日生成
    list-kuaishou-platform-copy: LIST:KUAISHOU:MAGNETIC:PERSON_INFO #张恒把 person_base 数据推进这个队列
  accounts-url-type:
    video_list: 1
    live_list: 99
    video_user_info: 2
    live_user_info: 98
    video_work_analysis: 3
    live_work_analysis: 4
    video_goods_data_30: 5
    live_goods_data_30: 6
    fans_analysis: 7
package com.inmyshow.common.config;

import com.inmyshow.common.config.vo.*;
import com.inmyshow.common.yamlload.YAMLPropertySourceFactory;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

import java.util.Map;


/**
 * @Author XiangJingCheng
 * @Date 2022/6/9 11:32
 * @Describe
 **/
@Component
@PropertySource(value = "classpath:application.yml", factory = YAMLPropertySourceFactory.class)
@ConfigurationProperties(prefix = "config")
@Data
public class SystemConfig {

    /**
     * 通用参数
     */
    private CommonParamListVO commonParamList;
    /**
     * 各个服务配置
     */
    private ProjectConfigVO accounts;
    /**
     * redis配置
     */
    private Map<String, RedisConfigVO> redis;
    /**
     * 各个项目kafka topic列表
     */
    private KafkaTopicListVO kafkaTopicList;
    /**
     * 各个项目kafka group Id列表
     */
    private KafkaGroupIdListVO kafkaGroupIdList;

    /**
     * 线程池配置
     */
    private Map<String, ThreadPoolConfigVO> threadPool;

    /**
     * redis key
     */
    private RedisKeyListVO RedisKeyList;

    /**
     * url 对应给weiq 推送接口类型
     */
    private Map<String,Integer> accountsUrlType;

}

       此时只需要获取到 SystemConfig 类的对象(@Autowired注入 或者 SystemConfig systemConfig = SpringUtil.getBean(“systemConfig”, SystemConfig.class);)然后直接用这个对象点出来里面的属性即可和 yml 文件中配置的属性值一一对应
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值