配置文件格式:
display-mode:
brief-view:
AAA:
default: listmode,custommode
AA: listmode,custommode
@Component
@ConfigurationProperties("display-mode") //前缀
@PropertySource(value = "classpath:/config/gb/KNS/brief/display-mode.yml",factory = PropertySourceFactory.class)
public class DispalyModeConfig {
private Map briefview;
public Map getBriefview() {
return briefview;
}
public void setBriefview(Map briefview) {
this.briefview = briefview;
}
public String getDisplyMode(String resource,String code){
String str = null;
if(StringUtils.isEmpty(resource)){
return str;
}
if(null != briefview.get(resource)){
Map maps = (Map)briefview.get(resource);
if(null != maps.get(code)){
str = (String) maps.get(code);
}else{
str = (String) maps.get("default");
}
}
return str;
}
}
public class PropertySourceFactory extends DefaultPropertySourceFactory {
@Override
public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException {
if (resource == null) {
return super.createPropertySource(name, resource);
}
List<PropertySource<?>> sources = new YamlPropertySourceLoader().load(resource.getResource().getFilename(), resource.getResource());
return sources.get(0);
}
}