|
|
@@ -0,0 +1,71 @@
|
|
|
+package com.xintong.visualinspection.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.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;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|