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

来源:互联网 发布:淘宝儿童家具商品描述 编辑:程序博客网 时间:2024/05/22 05:33

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);
}


0 0
原创粉丝点击