`

Java加载配置文件工具类

阅读更多

1)加载全局配置文件类

 

package com.magnus.core.servlet;

 

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.log4j.Logger;

import org.springframework.web.context.WebApplicationContext;

import org.springframework.web.context.support.WebApplicationContextUtils;

import org.springside.modules.utils.SystemGlobals;

 

/**

 * 主要用于加载全局配置文件的类

 * 

 * 

 */

public class ConfigServlet extends HttpServlet {

 

private static final long serialVersionUID = 1L;

private final static Logger log = Logger.getLogger(ConfigServlet.class);

 

/**

* Constructor of the object.

*/

public ConfigServlet() {

super();

}

 

/**

* Destruction of the servlet. <br>

*/

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

// Put your code here

}

 

/**

* Initialization of the servlet. <br>

* @throws ServletException

*             if an error occure

*/

public void init() throws ServletException {

try {

// ConfigConstant.initConfigConstant(getServletContext().getRealPath("/"));

load();

log.info("Init config.......ok");

log.info(SystemGlobals.dump());

} catch (Exception e) {

log.error(e);

throw new ServletException("Init config Fail:" + e.getMessage());

}

String filePath = SystemGlobals.getValue("filepath");

// 其他必要操作。。。

 

}

 

public void doPost(HttpServletRequest request, HttpServletResponse response) {

try {

load();

log.info("Reload config.......ok");

log.info(SystemGlobals.dump());

// 清空缓存

WebApplicationContext webApplicationContext = WebApplicationContextUtils

.getRequiredWebApplicationContext(getServletContext());

PrintWriter out = response.getWriter();

out.print("{success:true}");

out.flush();

out.close();

} catch (Exception e) {

log.error("reload config Fail:" + e.getMessage());

}

}

 

public void doGet(HttpServletRequest request, HttpServletResponse response) {

doPost(request, response);

}

 

private void load() throws IOException {

String configFile = this.getServletConfig().getInitParameter("configFile");

SystemGlobals.loadConfig(this.getServletContext().getRealPath(configFile));

}

 

}

 

2) 提供全局配置文件访问入口

 

package org.springside.modules.utils;

 

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Properties;

 

import org.apache.log4j.Logger;

 

/**

 * 单件,提供全局配置文件访问入口

 */

public class SystemGlobals {

    private final static Logger log = Logger.getLogger(SystemGlobals.class);

private static SystemGlobals globals = new SystemGlobals(); 

 

private Properties config = new Properties();

private SystemGlobals(){}

 

/**

* 静态加载配置文件

* @param appPath 文件路径

* @throws IOException

*/

public static void loadConfig(String appPath) throws IOException

{

globals = new SystemGlobals();

FileInputStream input = new FileInputStream(appPath);

globals.config.load(input);

input.close();

}

/**

* 取得与key值相对应的字符串value

* @param key

* @return 字符串value

*/

public static String getValue(String key){

return globals.config.getProperty(key);

}

/**

* 取得与key值相对应的int类型的value

* @param key

* @return int类型的值

*/

public static int getIntValue(String key){

return Integer.parseInt(globals.config.getProperty(key).trim());

}

 

public static String dump(){

return globals.config.toString();

}

}

 

 

分享到:
评论

相关推荐

    Java 加载配置文件的方式

    在Java编程中,加载配置文件是一项常见的任务,它允许我们动态地设置应用的参数和环境,而无需修改代码。配置文件通常以.properties或.xml格式存储,包含键值对或者结构化数据,使得程序可以根据不同环境或者用户...

    配置文件读取工具类(Java)

    首先,我们需要加载配置文件到`Properties`对象中,然后可以通过键来获取值。 ```java public class ConfigReader { private static Properties props = new Properties(); static { try { props.load(new ...

    读取配置文件工具类.rar

    1. 加载配置文件:通过`Properties.load(InputStream)`方法加载文件,通常在类路径下查找文件。 2. 获取属性值:使用`Properties.getProperty(String key)`方法获取特定键对应的值。 3. 遍历所有属性:通过迭代`...

    java读取配置文件

    例如,`java.io.FileInputStream`可以用来打开文件,然后`java.util.Properties`类可以加载并解析配置文件。以下是一个简单的示例: ```java Properties props = new Properties(); FileInputStream fis = new ...

    Java配置文件自动加载、保存工具类

    实现了实体类和配置文件的关系映射、自动加载、自动保存,基于ORM、持久化的思想,使用Java的注解、反射、范型等特性实现。 依赖jtk_util_0.1.jar,地址:http://download.csdn.net/detail/u010475284/7221887

    java操作word文件工具类级dell文件

    标题中的“工具类级”意味着我们需要创建一个Java类,这个类将封装Jacob库的使用,提供简洁易用的API供其他Java代码调用。这样做的好处是提高了代码的可维护性和可重用性,避免了直接在业务逻辑中嵌入复杂的COM交互...

    java中的@Value获取不到配置文件的值,也加载不到默认值

    自己开发一个工具类,为第三方应用提供调用接口,但是打包后测试过程中,发现了一个问题就是在用@Value获取配置文件内容的时候,无法获取我们的配置信息,也无法加载我们配置的默认值!具体配置如下: @Value("${...

    java配置文件修改读取工具类,包括yml和properties类型文件

    1. 加载Properties文件:使用`Properties`类的`load()`方法,从输入流中加载配置文件。 2. 读取配置:通过调用`Properties`类的`getProperty()`方法,根据键获取值。 3. 修改配置:使用`setProperty()`方法设置新的...

    静态加载properties配置文件,根据key获取值的方法

    properties文件获取工具类:静态加载properties配置文件,有根据key获取值的方法

    java操作sftp的工具类(JSch)

    `SftpUtil.java`文件可能包含一个封装了这些步骤的工具类,方便在项目中复用。一个简单的`SftpUtil`工具类示例如下: ```java import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import ...

    Java实现的Https请求工具类

    本篇文章将深入探讨如何在Java中实现一个用于处理HTTPS请求的工具类。 首先,要实现HTTPS请求,我们需要导入Java的`java.net`和`javax.net.ssl`包,这两个包提供了处理网络连接和SSL/TLS安全协议的类。以下是一些...

    java连接SqlServer完整代码,工具类,jdbc

    java连接SqlServer完整代码,工具类,jdbc JDBC工具类的构建 1.资源释放 见https://mp.csdn.net/postedit/86577443 2.驱动防二次注册 ``` Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //...

    java读取配置文件源代码

    在这个示例中,我们首先创建一个`Properties`对象,然后通过`getResourceAsStream()`或`FileInputStream`加载配置文件。`getProperty()`方法用于获取配置文件中的特定属性。请注意,`getResourceAsStream()`通常用于...

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的功能,它允许我们在程序运行时改变或更新配置,而无需重启应用。这在开发和生产环境中都具有很高的实用价值,尤其是在配置需要频繁调整或者希望实现热更新的场景下。...

    springboot+java类热加载

    本文将深入探讨"springboot+java类热加载"这一主题,包括其核心概念、实现方式以及相关技术。 **热加载(Hot Loading)**是开发过程中的一个重要功能,它允许开发者在不重启应用的情况下更新代码,提高开发效率。在...

    java office转pdf工具类

    Java Office转PDF工具类是Java开发中用于将Office文档转换为PDF格式的一种解决方案。在Java环境中,Aspose是一个流行的库,提供了丰富的API来处理各种办公文档格式,包括Word、Excel、PowerPoint等,并且能够方便地...

    读取properties文件工具类

    这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...

    Configuration对properties、xml配置文件的【增删改查】及动态加载

    Apache Commons Configuration支持动态加载配置文件,这意味着当配置文件发生改变时,程序无需重启就能感知到这些变化。这主要通过监听配置文件的变化来实现。例如,可以使用`FileChangedReloadingStrategy`类监听...

    java各种常用的工具类封装 源码

    在Java编程中,工具类(Util)是程序员经常会用到的辅助类库,它们提供了许多实用功能,简化了代码编写。以下将详细讲解标题和描述中提到的几个关键工具类及其封装方法: 1. **DateUtil**: Java中的日期时间处理在...

Global site tag (gtag.js) - Google Analytics