| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.xintong.system.securityTools;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.alibaba.fastjson.serializer.JSONSerializableSerializer;
- import com.fasterxml.jackson.annotation.JsonAutoDetect;
- import com.fasterxml.jackson.annotation.PropertyAccessor;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
- import org.springframework.cache.CacheManager;
- import org.springframework.cache.annotation.CachingConfigurerSupport;
- import org.springframework.cache.annotation.EnableCaching;
- import org.springframework.cache.interceptor.KeyGenerator;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.data.redis.cache.RedisCacheManager;
- import org.springframework.data.redis.connection.RedisConnectionFactory;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.data.redis.core.StringRedisTemplate;
- import org.springframework.data.redis.serializer.RedisSerializer;
- import java.lang.reflect.Method;
- /**
- * 文件名:RedisConf
- * 版本信息:日期:2017/4/25 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
- */
- @Configuration
- @EnableCaching
- public class RedisConf extends CachingConfigurerSupport{
- @Bean
- public KeyGenerator keyGenerator(){
- return new KeyGenerator() {
- @Override
- public Object generate(Object target, Method method, Object... params) {
- StringBuilder sb = new StringBuilder();
- sb.append(target.getClass().getName());
- sb.append(method.getName());
- for (Object obj : params) {
- sb.append(obj.toString());
- }
- return sb.toString();
- }
- };
- }
- @Bean
- public CacheManager cacheManager(
- @SuppressWarnings("rawtypes") RedisTemplate redisTemplate) {
- return new RedisCacheManager(redisTemplate);
- }
- @Bean
- @SuppressWarnings("rawtypes")
- public RedisSerializer fastJson2JsonRedisSerializer() {
- return new FastJson2JsonRedisSerializer<Object>(Object.class);
- }
- @Bean
- @SuppressWarnings("rawtypes")
- public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory, RedisSerializer fastJson2JsonRedisSerializer) {
- StringRedisTemplate template = new StringRedisTemplate(factory);
- template.setValueSerializer(fastJson2JsonRedisSerializer);
- template.afterPropertiesSet();
- return template;
- }
- }
|