【SpringBoot】四十七、SpringBoot中如何静态加载配置文件
作者:互联网
前言
我们知道在 SpringBoot 中有默认的配置文件 application.yml 或 application.properties,我们可以通过
@ConfigurationProperties(prefix = "test")
或
@Value("${test}")
等方式获取到配置内容,那有的时候我们需要通过静态的方式读取配置文件的内容,这种方式就不能实现了
1、创建配置文件
我们将配置文件放在根目录下,里面配置的是微信公众平台的一些信息
2、读取配置文件
package com.asurplus.weixin.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
/**
* 加载配置文件
*
*/
public class WxConfigProperties {
private static Logger log = LoggerFactory.getLogger(WxConfigProperties.class);
/**
* 系统配置文件在程序运行期间的路径
*/
private static final String configFilePath = WxConfigProperties.class.getResource("/").getPath().replaceAll("%20", " ").concat("wx-conf.properties");
private static Properties properties = new Properties();
static {
loadParam();
}
/**
* 从配置文件中加载参数
*/
private static void loadParam() {
try {
File file = new File(configFilePath);
InputStream in = new FileInputStream(file);
// 加载配置文件
properties.load(in);
} catch (Exception e) {
log.error("配置文件加载失败:{}", e.getMessage());
}
}
/**
* 读取配置文件
*
*/
public static String getKeyToValue(String key) {
return properties.getProperty(key);
}
}
这样,我们在程序运行的时候,加载了这个配置文件,我们就可以通过 key 获取到对应的配置内容
3、获取配置文件内容
package com.asurplus.weixin.util;
import org.apache.commons.codec.binary.Base64;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 读取配置文件内容
*
*/
public class WxConfiUtil {
/**
* 项目的访问路径 正式:
*/
public static String basePath = WxConfigProperties.getKeyToValue("basePath");
/**
* 公众号ID 正式:
*/
public static final String appId = WxConfigProperties.getKeyToValue("appId");
/**
* 公众号密钥 正式:
*/
public static final String appSecret = WxConfigProperties.getKeyToValue("appSecret");
}
通过 getKeyToValue() 方法就可以获取到具体的配置信息了
如您在阅读中发现不足,欢迎留言!!!
标签:java,SpringBoot,配置文件,四十七,static,import,public,String 来源: https://blog.csdn.net/qq_40065776/article/details/115189244