前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据字典 加载到 web 项目的 application 全局

数据字典 加载到 web 项目的 application 全局

作者头像
北漂的我
发布2019-05-28 12:36:18
4040
发布2019-05-28 12:36:18
举报
文章被收录于专栏:北漂的我北漂的我
代码语言:javascript
复制
package com.ibm.scm.common.system;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.context.support.WebApplicationObjectSupport;

import com.ibm.scm.common.system.dict.biz.IDictItemBiz;
import com.ibm.scm.pojo.common.DictItem;
import com.tjmc.eipv.framework.Globals;
import com.tjmc.eipv.framework.security.INumgClient;
import com.tjmc.eipv.framework.security.IUserManager;


public class ScmsGlobalBean extends WebApplicationObjectSupport implements InitializingBean{
	private static final Logger log = Logger.getLogger(ScmsGlobalBean.class);

	private IDictItemBiz dictItemBiz = null;
	private INumgClient numgClient;
	private IUserManager userManager = null;
	private Map<String,Map<String,String>>pubDictMap = null;
	
	/**
	 * 与具体业务相对松耦合的配置,或者在应用中多次用到的配置项,存放在appConfig中
	 */
	private Map<String, String> appConfig;
	
	/**
	 * 加载初始化方法
	 */
	public void afterPropertiesSet() throws Exception {
		this.initDictItems();
	}

	/**
	 * 初始化字典表
	 */
	private void initDictItems() {
		log.info("加载数据字典开始");

		List<DictItem> dicts = dictItemBiz.listAll();
		//所有字典数据
		Map<String, Map<String, String>> dictMap = new LinkedHashMap<String, Map<String, String>>();
		//有效的字典数据
		Map<String, Map<String, String>> validDictMap = new LinkedHashMap<String, Map<String, String>>();

		for (DictItem di : dicts) {
			if (dictMap.get(di.getDictName()) == null) {
				dictMap.put(di.getDictName(), new LinkedHashMap<String, String>());
			}
			dictMap.get(di.getDictName()).put(di.getItemValue(), di.getItemText());

			if (ScmsGlobals.IS_VALID_TRUE.equalsIgnoreCase(di.getIsValid())) {
				if (validDictMap.get(di.getDictName()) == null) {
					validDictMap.put(di.getDictName(), new LinkedHashMap<String, String>());
				}
				validDictMap.get(di.getDictName()).put(di.getItemValue(), di.getItemText());
			}
		}

		for (String s : dictMap.keySet()) {
			Map<String, String> m = dictMap.get(s);
			for (String s1 : m.keySet()) {
				String ddTemp = m.get(s1);
				log.info(String.format("name=%s, label=%s, value=%s", s, ddTemp, s1));
			}
		}
		log.info("加载数据字典结束");

		log.info("系统配置参数开始");
		if (appConfig != null) {
			for (String k : appConfig.keySet()) {
				log.info(String.format("%s=%s", k, appConfig.get(k)));
			}
		}
		log.info("系统配置参数结束");
		pubDictMap = dictMap;
		this.getWebApplicationContext().getServletContext().setAttribute(Globals.DICT_MAP_KEY, dictMap);
		this.getWebApplicationContext().getServletContext().setAttribute(Globals.VALID_DICT_MAP_KEY, validDictMap);
		this.getWebApplicationContext().getServletContext().setAttribute(Globals.APP_CONFIG_KEY, this.appConfig);
	}

	/**
	 * @return the appConfig
	 */
	public Map<String, String> getAppConfig() {
		return appConfig;
	}

	/**
	 * @param appConfig the appConfig to set
	 */
	public void setAppConfig(Map<String, String> appConfig) {
		this.appConfig = appConfig;
	}


	/**
	 * @return the numgClient
	 */
	public INumgClient getNumgClient() {
		return numgClient;
	}


	/**
	 * @param numgClient the numgClient to set
	 */
	public void setNumgClient(INumgClient numgClient) {
		this.numgClient = numgClient;
	}


	/**
	 * @return the userManager
	 */
	public IUserManager getUserManager() {
		return userManager;
	}


	/**
	 * @param userManager the userManager to set
	 */
	public void setUserManager(IUserManager userManager) {
		this.userManager = userManager;
	}


	/**
	 * @return the pubDictMap
	 */
	public Map<String, Map<String, String>> getPubDictMap() {
		return pubDictMap;
	}


	/**
	 * @param pubDictMap the pubDictMap to set
	 */
	public void setPubDictMap(Map<String, Map<String, String>> pubDictMap) {
		this.pubDictMap = pubDictMap;
	}

	/**
	 * @return the dictItemBiz
	 */
	public IDictItemBiz getDictItemBiz() {
		return dictItemBiz;
	}

	/**
	 * @param dictItemBiz the dictItemBiz to set
	 */
	public void setDictItemBiz(IDictItemBiz dictItemBiz) {
		this.dictItemBiz = dictItemBiz;
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档