首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

java中读取配置文件步骤二

2012-09-29 
java中读取配置文件方法二在项目启动时加载package com.founder.ids.listenerimport java.io.IOException

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;@Overridepublic void contextDestroyed(ServletContextEvent event) {//System.out.println("===hah2====");}@Overridepublic 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}

热点排行