从配置文件中读取参数

来源:互联网 发布:sqlserver的安装 编辑:程序博客网 时间:2024/04/28 01:48

入行不到一年,最近在做第三方支付后台,起初需要的各种参数 密文都直接现在了一个config.java类中,这样存在一个问题,每次改的时候都得在本地改代码,然后更新.class文件到服务器上,如果服务器在云端的话 更麻烦,因此经理就告诉我可以配置到配置文件中,xxx.properties,然后如果需要更改,就直接服务器上改这个文件就Ok了

另外,涉及到密钥之类的机密等级高的文件建议 放在服务器同级别或者上一级别目录下,保证安全,然后初始化去读取参数

对此,java提供了一个 Properties类 会自动读取=两边的值,以键值对形式获得

具体如下 在监听器中的代码:



public class ConfigUtil {
public static String TOKEN = "";
public static String ENCODINGAESKEY = "";
public static String APPID = "";
public static String APPKEY = "";
public static String MASTER = "";
public static String IMG_UPLOAD_PATH = "";
public static String IMG_URL_PATH = "";
public static String COMM_ZIP_PATH = "";
public static String UPLOAD_ORDER_COMM = "";
public static String IMG_ASPECT_RATIO = "";
}




public void contextInitialized(ServletContextEvent servletContextEvent) {



// 初始化配置文件
final Properties prop = new Properties();
final InputStream in = this.getClass().getResourceAsStream("/properties/config.properties");
try {
prop.load(in);
ConfigUtil.APPID = prop.getProperty("APPID").trim();
ConfigUtil.APPKEY = prop.getProperty("APPKEY").trim();
ConfigUtil.ENCODINGAESKEY = prop.getProperty("ENCODINGAESKEY").trim();
ConfigUtil.IMG_UPLOAD_PATH = prop.getProperty("IMG_UPLOAD_PATH").trim();
ConfigUtil.COMM_ZIP_PATH = prop.getProperty("COMM_ZIP_PATH").trim();
ConfigUtil.IMG_URL_PATH = prop.getProperty("IMG_URL_PATH").trim();
ConfigUtil.UPLOAD_ORDER_COMM = prop.getProperty("UPLOAD_ORDER_COMM").trim();
ConfigUtil.MASTER = prop.getProperty("MASTER").trim();
ConfigUtil.TOKEN = prop.getProperty("TOKEN").trim();
ConfigUtil.IMG_ASPECT_RATIO = prop.getProperty("IMG_ASPECT_RATIO").trim();

} catch (final IOException e) {
e.printStackTrace();
}
}