1.定义配置文件中数据的格式
christmas:
live-activity:
send-msg-for-tree-start-1: "Dear broadcaster, congra
send-msg-for-tree-start-2: "Dear broadcaster, congra
send-msg-for-tree-start-3: "Dear broadcaster, congra
send-msg-for-tree-fans-1: "Dear Facecast member, congratulations
send-msg-for-tree-fans-2: "Dear Facecast member, congratulations
send-msg-for-tree-fans-3: "Dear Facecast member, congratulations
send-msg-for-hat-start-1: "Dear broadcaster, congratu
send-msg-for-hat-start-2: "Dear broadcaster, congratu
send-msg-for-hat-start-3: "Dear broadcaster, congratu
send-msg-for-hat-fans-1: "Dear Facecast member, cong
send-msg-for-hat-fans-2: "Dear Facecast member, cong
send-msg-for-hat-fans-3: "Dear Facecast member, cong
2.读取配置文件中的数据(通过 'christmas')
/**
* @Description 获取配置文件中的数据
* @Author qkb
* @Date 17:24
**/
@Configuration
@ConfigurationProperties(prefix = "christmas") // 配置文件中定义的格式 对应christmas
public class ChristmasAssistantMsgTemplateConfig {
private Map<String, String> liveActivity; //配置文件中定义的格式 对应live-activity
public Map<String, String> getLiveActivity() {
return liveActivity;
}
public void setLiveActivity(Map<String, String> liveActivity) {
this.liveActivity = liveActivity;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("ChristmasAssistantMsgTemplateConfig{");
sb.append("liveActivity=").append(liveActivity);
sb.append('}');
return sb.toString();
}
}
3.使用
@Autowired
private ChristmasAssistantMsgTemplateConfig christmasAssistantMsgTemplateConfig;
// 配置文件中设定的四种固定格式
private static final String treeStartMsgKeyPrefix = "send-msg-for-tree-start-";
private static final String treeFansMsgKeyPrefix = "send-msg-for-tree-fans-";
private static final String hatStartMsgKeyPrefix = "send-msg-for-hat-start-";
private static final String hatFansMsgKeyPrefix = "send-msg-for-hat-fans-";
/**
* 1.通过getLiveActivity方法得到 live-activity Map liveActivity
* 2.通过liveActivity map得到不同的 相对应的数据
*/
@PostConstruct
private void init() {
logger.info("config = {}", christmasAssistantMsgTemplateConfig);
Map<String, String> liveActivity = christmasAssistantMsgTemplateConfig.getLiveActivity();
String s = liveActivity.get(treeStartMsgKeyPrefix + 1);
String s1 = liveActivity.get(treeFansMsgKeyPrefix + 2);
String s2 = liveActivity.get(hatStartMsgKeyPrefix + 1);
String s3 = liveActivity.get(hatFansMsgKeyPrefix + 2);
logger.info("直播圣诞树明星榜第一名是={}", s);
logger.info("直播圣诞树粉丝榜二名是={}", s1);
logger.info("直播圣诞帽明星榜第一名是={}", s2);
logger.info("直播圣诞帽粉丝榜二名是={}", s3);
}