在项目启动时加载
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中,我们可以使用多种方法来读取配置文件,下面将详细介绍几种常见的方法。 1. **使用`java.io`流读取** 最基础的方式是使用Java的I/O流来读取文本配置文件(通常是.properties格式)。例如,`java.io....
在Java类中,读取配置文件信息可以使用多种方法,其中一种方法是使用`this.getClass().getClassLoader().getResourceAsStream`方法。 `this.getClass().getClassLoader().getResourceAsStream`方法是Java类中的一种...
在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的设置、连接信息或其他敏感数据,这样可以将这些信息与核心代码分离,便于管理和更新。本篇文章将...
JAVA 高手解析 XML 配置文件的读取操作 本文主要讲解了 Java 中如何读取 XML 配置文件,并对 XML 解析器进行了分类,分别介绍了 DOM 和 SAX 两种解析方式的特点和使用...5. 在 Java 中读取 XML 配置文件的步骤和方法
`Properties`类用于处理键值对,它是Java中读取配置文件的标准方式。 要获取配置文件中的数据,我们可以调用`Singleton.INSTANCE.getProperties()`。例如,如果配置文件中有`database.url`属性,我们可以通过以下...
在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的动态设置,如数据库连接字符串、API密钥、服务器地址等,这些信息需要在运行时根据环境进行调整...
在Java中,读取XML配置文件可以使用多种方法,如DOM、SAX、JDOM等。其中,SAX(Simple API for XML)是一种基于事件驱动的XML解析器,它可以快速高效地读取XML文件。 二、SAX解析XML配置文件 在本文中,我们使用...
在Java编程中,读取配置文件是常见的任务,它允许我们分离程序的配置信息,使得配置可以独立于代码进行修改,提高程序的可维护性和灵活性。这篇内容将深入讲解Java如何读取XML、INI等不同类型的配置文件。 一、XML...
使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...
在web项目中读取yml配置文件的工具类.可以实现将 server : port : portnumber : 8081 转换为 key为"server.port.portnumber",值为"8081"的Map,String>集合
java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取
在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和灵活的应用程序时。配置文件通常存储了应用程序的参数、数据库连接信息、API密钥等敏感数据,需要在运行时动态加载。本实例代码将展示如何使用`Class....
纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")
在项目中我们经常要把某些常量放在配置文件中,这样修改起来会比较方便,这个工具类可以帮我们直接在java类中读取配置文件内容
本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...
在Java编程中,读取配置文件是常见的任务,主要用于存储应用程序的设置或环境变量,以方便管理和维护。Java提供了一个内置的`java.util.Properties`类,用于处理`.properties`文件,这种格式通常用来存储键值对,即...
实际应用中,文件路径可能来自用户输入或配置文件。 #### 3. 初始化`BufferedReader` 接下来,通过`new BufferedReader(new FileReader(file))`创建一个`BufferedReader`实例。这行代码的关键在于使用了`...