使用监听器调用上下文监听器从数据库取常量
来源:互联网 发布:哪里多淘宝模板下载 编辑:程序博客网 时间:2024/06/15 17:51
web.xml片段
<listener> <description>spring监听器</description> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>com.bigdatass.financial.listener.InitServlet</listener-class> </listener>
调用监听类代码
import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;/** * 实现servlet上下文监听器 * @author dxh * */public class InitServlet implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { Object path = sce.getSource();//获取来源 System.out.println(path + "startListener================"); InitData.getInstance();//调用单利 } @Override public void contextDestroyed(ServletContextEvent sce) { System.out.println("endListener================"); }}
单利实现接口取值
import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.bigdata.financial.investment.culture.model.WhNavigationDict;import com.bigdata.financial.investment.culture.service.NavigationDictService;import com.bigdata.financial.investment.culture.service.impl.NavigationDictServiceImpl;import com.bigdata.financial.investment.culture.util.ApplicationContextUtil;/** * 单利模式下实现对接口的查询和调用, * 初始化加入内存中方便调用 * @author dxh * */public class InitData { private static final Log log = LogFactory.getLog(InitData.class); private static Map<String,String> PROJECTTYPE =null; private InitData(){ init(); } private static class SingletonHolder{ private static InitData instance = new InitData(); } public static InitData getInstance(){ return SingletonHolder.instance; } private static void init(){ PROJECTTYPE = new LinkedHashMap<String, String>(); try{ NavigationDictService navigationdictService = ApplicationContextUtil.getApplicationContext().getBean(NavigationDictServiceImpl.class); List<WhNavigationDict> dataList = navigationdictService.getParent(); for(WhNavigationDict bean : dataList){ PROJECTTYPE.put(bean.getId()+"", bean.getDndName()); } System.out.println("加载完毕projectMap"); } catch (Exception e) { log.error("",e); } } public static Map<String, String> getPROJECTTYPE() { return PROJECTTYPE; } public static void setPROJECTTYPE(Map<String, String> pROJECTTYPE) { PROJECTTYPE = pROJECTTYPE; }}
其他地方常量的调用方法
InitData.getPROJECTTYPE;获取了map;当然本项目是之前已经调用的是map,所以为了不动前面页面,若前面调用的是list,则可以返回list
阅读全文
0 0
- 使用监听器调用上下文监听器从数据库取常量
- web上下文监听器ServletContextListener
- Servlet上下文监听器
- 使用监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 文章标题
- 23种设计模式(2)-建造者模式
- 剑指offer面试题分类总结
- 深入浅出 妙用Javascript中apply、call、bind
- js对象属性的命名规则
- 使用监听器调用上下文监听器从数据库取常量
- 【微信公众号开发】自我学习第一章:服务器配置的提交
- centos7.3+mysq5.7.18 binary安装
- Hive表联合查询语句参考
- 半路出家, 我的iOS自学之路-1-C语言
- 哈希表(散列表)原理详解
- mysql分表和表分区详解
- HTML5 CSS3 诱人的实例 :模仿优酷视频截图功能
- fig13_03.cpp