spring boot 读取自定义properties文件
Posted Mr-xt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 读取自定义properties文件相关的知识,希望对你有一定的参考价值。
@Configuration
@Component
public class PropertiesConfig {
private static final String[] properties = {"/application.properties"};
private static Properties props;
private static Map<Object, Object> propertiesMap = new HashMap();
public PropertiesConfig() {
try {
for (String propertie : properties) {
Resource resource = new ClassPathResource(propertie);
if(null != resource && resource.exists()){
EncodedResource encodeResource = new EncodedResource(resource, DEFAULT_ENCODING);
props = PropertiesLoaderUtils.loadProperties(encodeResource);
propertiesMap.putAll(props);
}
}
if(null != propertiesMap){
props.clear();
for (Map.Entry<Object, Object> item : propertiesMap.entrySet()) {
if(!StringUtils.isEmpty(item.getKey())){
props.setProperty(item.getKey().toString(),StringUtils.isEmpty(item.getValue()) ? "" : item.getValue().toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getProperty(String key) {
return props == null ? null : props.getProperty(key);
}
说明:
@Configuration项目启动时加载
@component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>)泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
properties 为读取的peoperties文件集合
使用:
@Autowired
private PropertiesConfig propertiesConfig;
propertiesConfig.getProperty(key);
***暂时未找到获取所有properties文件路径
以上是关于spring boot 读取自定义properties文件的主要内容,如果未能解决你的问题,请参考以下文章
曹工说Spring Boot源码-- 怎么从properties文件读取bean
Spring boot 的 properties 属性值配置 application.properties 与 自定义properties