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);
}
<!-- 基础数据写入缓存 -->
<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);
}
相关文章推荐
- JAVA多线程实现的三种方式
- java运行机制:跨平台的原因
- (4)java方法区
- java正则表达式
- String和Date之间的转换(Java)
- MyEclipse10 安装pydev插件
- java was started but returned exit code=13
- Java序列化
- 怎么让自己的java系统使用支付接口
- equals()和==的用法及区别
- Java中E、T、K、V、N的含义
- Java神奇的装箱与拆箱
- 解决ubuntu中JDK的Picked up JAVA_TOOL_OPTIONS提示问题。
- 【转】eclipse下使用git上传(下载)代码至(从)github
- 【原创】Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决
- 图例解析JDK,JRE,JVM概念及使用
- springMVC 笔记
- (3)java棧
- Struts2中validator校验器不起作用的情况
- java 实现线程的其中两种方法总结