在Springboot中,我们一般使用yml或properties文件来管理配置,一般的配置信息,我们只需要在我们的程序中使用@Value注解即可获取到配置信息,但是对于较为复杂的配置,比如键值对形式的配置,我们就需要一些特殊的处理来获取相关配置了,如下展示了一种获取键值对Map的一种方法,有需要的同学可以参考,完整代码请点击下载:
1、在yml中定义配置信息
spring: # 配置Spring MVC属性
data: # 配置Spring Redis属性
cachettls: # 配置不同缓存的过期时间
role1: 10
role2: 60
2、定义配置类
@Component
@ConfigurationProperties(prefix = "spring.data") /** 获取yml前缀为spring.data的配置 */
public class CacheTTLConfig {
/*
* 名称和配置的名称保持一直
*/
private Map<String, String> cachettls;
public String getCacheTTL(String cacheName) {
return cachettls.get(cacheName);
}
public void setCacheTTL(Map<String, String> cachettls) {
this.cachettls = cachettls;
}
}
3、业务代码中使用注解@Resource获取配置类,然后通过配置类的方法即可获取响应的配置信息了
@Resource
private CacheTTLConfig cacheTTLConfig;
4、完整代码请点击下载