您的位置:首页 > 编程语言 > Java开发

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

2015-08-16 19:41 1126 查看
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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: