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())