需求:获取项目下的配置文件,由于项目使用了阿波罗配置,很多配置需要使用@Value(“”)注解来获取参数,所以想使用一个配置类,统一管理,项目配置文件最终打包在"META-INF/config/application-local.properties" 文件,所有创建以下配置类获取需要配置。
目的:使用java类获取配置
代码:
package com.dfwl.tms.config;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* @program: tms-web
* @description:
* @author: jiny
* @create: 2023-03-28 09:42
*/
public class LocalConfig {
public static volatile Properties props;
static {
new LocalConfig().init();
}
public static String getValue(String key){
String property = null;
if(props==null){
new LocalConfig().init();
}
property = props.getProperty(key);
return property;
}
private LocalConfig() {
}
private void init() {
props = new Properties();
InputStream input = null;
try {
input = getClass().getClassLoader().getResourceAsStream("META-INF/config/application-local.properties");
props.load(input);
} catch (IOException e) {
e.printStackTrace();
}finally {
if(input!=null){
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}