spring+sparingmvc+codis

    
            io.codis.jodis  
            jodis  
            0.3.1  
          
          
            com.wandoulabs.jodis  
            jodis  
            0.2.2  
        

    
    
    
    	
		
		
		
		
		
		
		
		
		
		
	
	
	
		
		
	    
	     
	
	
public class SpringContextUtil implements ApplicationContextAware{
	private static ApplicationContext applicationContext;     // Spring应用上下文环境
	 
	/**
	 * 实现ApplicationContextAware接口的回调方法,设置上下文环境   
	 * @param applicationContext
	 * @throws BeansException
	 */
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		SpringContextUtil.applicationContext = applicationContext;
	}
 
	/**
	 * @return ApplicationContext
	 */
	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}
  
	/**
	 * 获取对象   
	 * @param name
	 * @return Object 一个以所给名字注册的bean的实例
	 * @throws BeansException
	 */
	public static Object getBean(String name) throws BeansException {
		return applicationContext.getBean(name);
	}
  
	/**
	 * 获取类型为requiredType的对象
	 * 如果bean不能被类型转换,相应的异常将会被抛出(BeanNotOfRequiredTypeException)
	 * @param name       bean注册名
	 * @param requiredType 返回对象类型
	 * @return Object 返回requiredType类型对象
	 * @throws BeansException
	 */
	public static  T getBean(String name, Class requiredType) throws BeansException {
		return (T) applicationContext.getBean(name, requiredType);
	}
   
	/**
	 * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true 
	 * @param name
	 * @return boolean
	 */
    public static boolean containsBean(String name) {
    	return applicationContext.containsBean(name);
    }
   
    /**
     * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。
     * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)   
     * @param name
     * @return boolean
     * @throws NoSuchBeanDefinitionException
     */
	public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
		return applicationContext.isSingleton(name);
	}

	/**
	 * @param name
	 * @return Class 注册对象的类型
	 * @throws NoSuchBeanDefinitionException
	 */
	public static Class getType(String name) throws NoSuchBeanDefinitionException {
		return applicationContext.getType(name);
	}

	/**
	 * 如果给定的bean名字在bean定义中有别名,则返回这些别名   
	 * @param name
	 * @return
	 * @throws NoSuchBeanDefinitionException
	 */
	public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
		return applicationContext.getAliases(name);
	}
	
}
public class RedisUtils{
   
  Logger logger = Logger.getLogger(RedisUtils.class);
  private static RedisClient redisClient;
   public  void save(String key,V v){
	   redisClient=(RedisClient) SpringContextUtil.getBean("redisClient");
	   Jedis jedis=null;
    	try{
    		jedis=redisClient.getResource();
			String svalue = JSON.toJSONString(v);
			jedis.rpush(key, svalue);
		}catch(Exception e){
			logger.error(e.getMessage());
			
		}finally{
			if(null != jedis){
				jedis.close();
			}
		}
 }

public List get(String key){
	   if(key==null || "".equals(key)){
		   throw new BusinessException("key 值不可为空");
	   }
	   redisClient=(RedisClient) SpringContextUtil.getBean("redisClient");
	   List ls=new ArrayList();
   	   Jedis jedis=null;
	   try {
		   jedis=redisClient.getResource();
		   List list=jedis.lrange(key, 0, -1);
		   for (String str : list) {
				JSONObject json=JSON.parseObject(str);
				PdamPositionEntity pda=JSONObject.toJavaObject(json, PdamPositionEntity.class);
				System.out.println(pda.getCourierCode());
				ls.add((V) pda);
			}
	} catch (Exception e) {
		logger.error(e.getMessage());
	}finally{
		if(null != jedis){
			jedis.close();
		}
	}
	   return ls;
   }
}

调用codis工具栏保存数据:
public class PdamPositionService extends RedisUtils  implements IPdamPositionService {
	@Resource
	private PdamPositionDao pdamPositionDao;
	private static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
	public void insertPdam(PdamPositionEntity pdamEntity) {
		pdamPositionDao.insertPdam(pdamEntity);
		save(pdamEntity.getCourierCode()+sdf.format(new Date()), pdamEntity);
		get(pdamEntity.getCourierCode()+sdf.format(new Date()));
	}
}



你可能感兴趣的:(spring)