spring项目,数据字典信息写入缓存

Posted Django_1987

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring项目,数据字典信息写入缓存相关的知识,希望对你有一定的参考价值。

1. spring 配置

 
    <!-- 基础数据写入缓存 -->
<bean id ="fymapCacheManager" class="com.thunisoft.summer.util.cache.CacheProxy">

//代理名的值,可以随便取,此处用fycache

<property name="proxyName" value="fycache"></property>

//缓存实现方法,value 是你的缓存处理类,该类应该继承AbstractCacheImpl类
<property name="cacheImpl">
<value>com.thunisoft.webservice.cache.cacheManager</value>
</property>

//初始化方法,也就是项目启动时执行的方法,该方法应该无参数,无返回值
<property name="initMethod" value="init">
</property>

//reload方法
<property name="writeMethod">
<list>
<value>reload</value>
</list>
</property>
</bean>

<!-- 缓存管理 -->
<bean id = "cacheManager" class="com.thunisoft.summer.util.cache.CacheManager" abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="cache">
<list>
<ref local="fymapCacheManager"/>
</list>
</property>
</bean>



2. 缓存处理类代码 

package com.thunisoft.webservice.cache;

import java.util.Map;
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import com.thunisoft.summer.util.cache.AbstractCacheImpl;
import com.thunisoft.webservice.dao.Ify2000;
import com.thunisoft.webservice.service.util.getBean;
public class cacheManager extends AbstractCacheImpl

//接口
private Ify2000 fydao;
//日志对象
private Logger log = Logger.getLogger(cacheManager.class);
private Map<Integer, Integer> fyvalueMap;
public cacheManager()
try
ApplicationContext springcontext = getBean.getYouBean();
fydao=(Ify2000) springcontext.getBean("fy2000");
catch (Exception e)
log.error("工具类,获取applicationContext中bean对象失败",e);


/**
* 获得法院映射关系
* @return
*/
public void getFyMap()
fyvalueMap= fydao.getFyMap();

public void initdata()
getFyMap();

public void init()
log.debug("法院基础数据开始写入缓存");
initdata();

public void reload()
log.debug("法院基础数据开始写入缓存");
initdata();

public Ify2000 getFydao()
return fydao;

public void setFydao(Ify2000 fydao)
this.fydao = fydao;

public Logger getLog()
return log;

public void setLog(Logger log)
this.log = log;

public Map<Integer, Integer> getFyvalueMap()
return fyvalueMap;

public void setFyvalueMap(Map<Integer, Integer> fyvalueMap)
this.fyvalueMap = fyvalueMap;



3.获取缓存数据代码

Map<Integer,Integer> fymap=null;
try
fymap = ((cacheManager)CacheManager.getCache("fycache")).getFyvalueMap();
catch (Exception e)
log.error("获取法院缓存数据失败",e);


以上是关于spring项目,数据字典信息写入缓存的主要内容,如果未能解决你的问题,请参考以下文章

04-使用Spring Cache+Redis来完成对字典数据缓存

spring启动容器加载成功后执行调用方法

spring boot项目之redis缓存

项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送

Spring Boot 缓存的基本用法

010-shiro与spring web项目整合缓存EhcacheRedis