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: 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
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-kuaishou-everyday-platform-accounts: ZSET:KUAISHOU:EVERYDAY_PLATFORM_ACCOUNTS_TEST:{0}
zset-kuaishou-cili-all-uid-zset: kuaishou_cili_all_uid_zset_test:{0}
zset-kuaishou-week-cili-all-uid-zset: kuaishou_week_cili_all_uid_zset_test:{0}
list-kuaishou-platform-push-weiq-api: LIST:KUAISHOU:PLATFORM_ACCOUNTS:PUSH_WEIQ_API_TEST
zset-kuaishou-everyday-platform-push-count: ZSET:KUAISHOU:EVERYDAY_PLATFORM_PUSH_COUNT_TEST:{0}
list-kuaishou-platform-copy: LIST:KUAISHOU:MAGNETIC:PERSON_INFO
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;
@Component
@PropertySource(value = "classpath:application.yml", factory = YAMLPropertySourceFactory.class)
@ConfigurationProperties(prefix = "config")
@Data
public class SystemConfig {
private CommonParamListVO commonParamList;
private ProjectConfigVO accounts;
private Map<String, RedisConfigVO> redis;
private KafkaTopicListVO kafkaTopicList;
private KafkaGroupIdListVO kafkaGroupIdList;
private Map<String, ThreadPoolConfigVO> threadPool;
private RedisKeyListVO RedisKeyList;
private Map<String,Integer> accountsUrlType;
}
此时只需要获取到 SystemConfig 类的对象(@Autowired注入 或者 SystemConfig systemConfig = SpringUtil.getBean(“systemConfig”, SystemConfig.class);)然后直接用这个对象点出来里面的属性即可和 yml 文件中配置的属性值一一对应