`
jhyimu2005
  • 浏览: 187750 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

java中读取配置文件方法二

 
阅读更多
在项目启动时加载

package com.founder.ids.listener;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.springframework.core.io.ClassPathResource;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.founder.ids.cache.CacheManager;
import com.founder.ids.common.WebProperties;
import com.founder.ids.entity.Organization;
import com.founder.ids.service.IHealthOfficerService;
import com.founder.ids.service.IOrganizationService;

public class PropertiesInitListener implements ServletContextListener {

	private static final String WEBSERVICE_CONFIG_FILE = "config/common-web.properties";

	//@Resource(name = "organizationService")
	IOrganizationService organizationService;
	IHealthOfficerService doctorService;
	
	@Override
	public void contextDestroyed(ServletContextEvent event) {
	//	System.out.println("===hah2====");
	}

	@Override
	public void contextInitialized(ServletContextEvent event) {
		organizationService = this.getOrganizationService(event.getServletContext());
		List<Organization> list = organizationService.getOrganizations();
		for(Organization org:list){
			CacheManager.orgWebServiceUrlMap.put(org.getId().toString(), org.getWebserviceUrl());
		}
		ClassPathResource cr = new ClassPathResource(WEBSERVICE_CONFIG_FILE);
		try {
			WebProperties.getInstance();
			WebProperties.getProperties().load(cr.getInputStream());
		} catch (IOException ex) {
			throw new RuntimeException("Cannot find Configuration " + PropertiesInitListener.WEBSERVICE_CONFIG_FILE);
		}
	}
	
	protected IOrganizationService getOrganizationService(ServletContext servletContext) {
	       return (IOrganizationService) WebApplicationContextUtils.getWebApplicationContext(servletContext).getBean("organizationService"); 
	    }
}


代码实现
package com.founder.ids.common;

import java.util.Properties;

import com.founder.fasf.util.ObjectUtil;

public class WebProperties {
	private static final WebProperties instance = new WebProperties();
	
	private static Properties properties;
	
	public static Properties getProperties() {
		return properties;
	}

	public static void setProperties(Properties properties) {
		WebProperties.properties = properties;
	}

	private WebProperties(){
		
	}
	
	public static WebProperties getInstance(){
		if(properties == null){
			properties = new Properties();
		}
		return instance;
	}
	
	/**
	 * 根据Key获取msg
	 * @param msgKey
	 * @param ...args
	 * 
	 * */
	public static String getMsg(String msgKey,String ...args){
		String msg = properties.getProperty(msgKey);
		
		if(msg == null){
			return "";
		}
		
		if(args == null || args.length == 0){
			return msg;
		}
		for(int i = 0; i < args.length; i++){
			String reg = "{" + i + "}";
			String rep = args[i];
			if(ObjectUtil.isNotEmpty(rep)) {
				msg = msg.replace(reg, rep);
			}
		}
		return msg;
	}
}

如何调用
package com.founder.ids.common;

import com.founder.fasf.util.ObjectUtil;


public class SiteNoticeUtil {
	/**
	 * 根据Key获取msg
	 * @param msgKey
	 * @param ...args
	 * 
	 * */
	public static String getMsg(String msgKey,String ...args){
		String msg = WebProperties.getMsg(msgKey);
		
		if(msg == null){
			return "";
		}
		
		if(args == null || args.length == 0){
			return msg;
		}
		for(int i = 0; i < args.length; i++){
			String reg = "{" + i + "}";
			String rep = args[i];
			if(ObjectUtil.isNotEmpty(rep)) {
				msg = msg.replace(reg, rep);
			}
		}
		return msg;
	}
}
SiteNoticeUtil.getMsg(
					"sms.reserve.reg.cancel",
					DateUtil.getDateTime("yyyy/MM/dd", reserveRegister.getReserveDate()) + " "
							+ cv.getName(), organizationDao.get(reserveRegister.getHospitalId())
							.getName(), reserveRegister.getDoctor().getName())


文件common-web.properties

######################短信内容#############
sms.reserve.reg.create=您预约的{0}{1}门诊已预约成功,您的预约日期为{2},就诊卡号为{3},请您及时就诊。
sms.reserve.exam.create=您预约的{0}{1}检查已预约成功,您的预约日期为{2},就诊卡号为{3},请您及时就诊。
sms.reserve.reg.cancel=您已经成功取消了{0}{1}{2}的门诊
sms.reserve.exam.cancel=您已经成功取消了{0}{1}{2}的检查
sms.referral.sucess = 您上转成功!上转医院:{0} 预约时间:{1} 就诊卡号:{2}
分享到:
评论

相关推荐

    java读取配置文件

    在Java中,我们可以使用多种方法来读取配置文件,下面将详细介绍几种常见的方法。 1. **使用`java.io`流读取** 最基础的方式是使用Java的I/O流来读取文本配置文件(通常是.properties格式)。例如,`java.io....

    java类读取配置文件信息

    在Java类中,读取配置文件信息可以使用多种方法,其中一种方法是使用`this.getClass().getClassLoader().getResourceAsStream`方法。 `this.getClass().getClassLoader().getResourceAsStream`方法是Java类中的一种...

    java 读取配置文件

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的设置、连接信息或其他敏感数据,这样可以将这些信息与核心代码分离,便于管理和更新。本篇文章将...

    JAVA高手解析XML配置文件的读取操作.pdf

    JAVA 高手解析 XML 配置文件的读取操作 本文主要讲解了 Java 中如何读取 XML 配置文件,并对 XML 解析器进行了分类,分别介绍了 DOM 和 SAX 两种解析方式的特点和使用...5. 在 Java 中读取 XML 配置文件的步骤和方法

    用enum实现单例模式的方法来读取配置文件

    `Properties`类用于处理键值对,它是Java中读取配置文件的标准方式。 要获取配置文件中的数据,我们可以调用`Singleton.INSTANCE.getProperties()`。例如,如果配置文件中有`database.url`属性,我们可以通过以下...

    java读取配置文件(axun)

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的动态设置,如数据库连接字符串、API密钥、服务器地址等,这些信息需要在运行时根据环境进行调整...

    Java中XML配置文件的读取(sax).doc

    在Java中,读取XML配置文件可以使用多种方法,如DOM、SAX、JDOM等。其中,SAX(Simple API for XML)是一种基于事件驱动的XML解析器,它可以快速高效地读取XML文件。 二、SAX解析XML配置文件 在本文中,我们使用...

    Java如何读取配置文件

    在Java编程中,读取配置文件是常见的任务,它允许我们分离程序的配置信息,使得配置可以独立于代码进行修改,提高程序的可维护性和灵活性。这篇内容将深入讲解Java如何读取XML、INI等不同类型的配置文件。 一、XML...

    使用Java读取XML配置文件

    使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...

    Java读取yml配置文件 YamlUtils.rar

    在web项目中读取yml配置文件的工具类.可以实现将 server : port : portnumber : 8081 转换为 key为"server.port.portnumber",值为"8081"的Map,String&gt;集合

    java读取properties文件(配置文件)

    java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取

    java读取配置文件的实例代码

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和灵活的应用程序时。配置文件通常存储了应用程序的参数、数据库连接信息、API密钥等敏感数据,需要在运行时动态加载。本实例代码将展示如何使用`Class....

    java 一键读取yaml、propertites配置文件内容,转换为一级map

    纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")

    java类中读取配置文件内容

    在项目中我们经常要把某些常量放在配置文件中,这样修改起来会比较方便,这个工具类可以帮我们直接在java类中读取配置文件内容

    java读取properties配置文件

    本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...

    利用Java的Properties 类读取配置文件信息

    在Java编程中,读取配置文件是常见的任务,主要用于存储应用程序的设置或环境变量,以方便管理和维护。Java提供了一个内置的`java.util.Properties`类,用于处理`.properties`文件,这种格式通常用来存储键值对,即...

    java如何读取文件

    实际应用中,文件路径可能来自用户输入或配置文件。 #### 3. 初始化`BufferedReader` 接下来,通过`new BufferedReader(new FileReader(file))`创建一个`BufferedReader`实例。这行代码的关键在于使用了`...

Global site tag (gtag.js) - Google Analytics