温红权 9 éve
szülő
commit
fe717e17fa

+ 34 - 16
VisualInspection_server/pom.xml

@@ -53,6 +53,26 @@
             <artifactId>spring-boot-starter-remote-shell</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+
+        <!--<dependency>-->
+            <!--<groupId>org.springframework.session</groupId>-->
+            <!--<artifactId>spring-session-data-redis</artifactId>-->
+        <!--</dependency>-->
+
+
+
+        <!--<dependency>-->
+            <!--<groupId>redis.clients</groupId>-->
+            <!--<artifactId>jedis</artifactId>-->
+            <!--<version>2.9.0</version>-->
+        <!--</dependency>-->
+
+
         <!--<dependency>-->
             <!--<groupId>org.springframework.boot</groupId>-->
             <!--<artifactId>spring-boot-starter-data-jpa</artifactId>-->
@@ -109,7 +129,7 @@
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
-            <version>1.2.30</version>
+            <version>1.2.31</version>
         </dependency>
 
 
@@ -119,7 +139,9 @@
 			<artifactId>spring-boot-starter-test</artifactId>
 			<scope>test</scope>
 		</dependency>
-	</dependencies>
+
+
+    </dependencies>
 
 	<dependencyManagement>
 		<dependencies>
@@ -191,22 +213,18 @@
 
     <!--<repositories>-->
         <!--<repository>-->
-            <!--<id>spring-milestones</id>-->
-            <!--<name>Spring Milestones</name>-->
-            <!--<url>https://repo.spring.io/milestone</url>-->
-            <!--<snapshots>-->
-                <!--<enabled>false</enabled>-->
-            <!--</snapshots>-->
+            <!--<id>spring-releases</id>-->
+            <!--<name>Spring Releases</name>-->
+            <!--<url>https://repo.spring.io/libs-release</url>-->
         <!--</repository>-->
-        <!--&lt;!&ndash;<repository>&ndash;&gt;-->
-            <!--&lt;!&ndash;<id>maven</id>&ndash;&gt;-->
-            <!--&lt;!&ndash;<name>maven</name>&ndash;&gt;-->
-            <!--&lt;!&ndash;<url>http://repo1.maven.org/maven2</url>&ndash;&gt;-->
-            <!--&lt;!&ndash;<snapshots>&ndash;&gt;-->
-                <!--&lt;!&ndash;<enabled>false</enabled>&ndash;&gt;-->
-            <!--&lt;!&ndash;</snapshots>&ndash;&gt;-->
-        <!--&lt;!&ndash;</repository>&ndash;&gt;-->
     <!--</repositories>-->
+    <!--<pluginRepositories>-->
+        <!--<pluginRepository>-->
+            <!--<id>spring-releases</id>-->
+            <!--<name>Spring Releases</name>-->
+            <!--<url>https://repo.spring.io/libs-release</url>-->
+        <!--</pluginRepository>-->
+    <!--</pluginRepositories>-->
 
 
 </project>

+ 3 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/VideocheckApplication.java

@@ -1,6 +1,7 @@
 package com.xintong.visualinspection;
 
 import com.alibaba.druid.pool.DruidDataSource;
+import com.alibaba.fastjson.parser.ParserConfig;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -25,6 +26,7 @@ public class VideocheckApplication {
 
 
 	public static void main(String[] args) {
-		SpringApplication.run(VideocheckApplication.class, args);
+        ParserConfig.getGlobalInstance().addAccept("com.xintong.visualinspection.bean");
+        SpringApplication.run(VideocheckApplication.class, args);
 	}
 }

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/User.java

@@ -14,7 +14,7 @@ import java.util.List;
  * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
  */
 @Data
-public class User implements UserDetails {
+public class User implements UserDetails  {
     private Integer id;
     private String username;
     private Integer age;

+ 3 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TestController.java

@@ -73,13 +73,13 @@ public class TestController {
     }
 
     @RequestMapping(value = "/test1")
+    @ResponseBody
     public String index(){
-        PageHelper.startPage(1,2);
 
-        List<User> list = userService.getAll();
+        User u = userService.getOne((long) 1);
 
 
-        return JSON.toJSON(new PageInfo(list)).toString();
+        return JSON.toJSON(u).toString();
     }
 
     @RequestMapping(value = "/test")

+ 41 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/securityTools/FastJson2JsonRedisSerializer.java

@@ -0,0 +1,41 @@
+package com.xintong.visualinspection.securityTools;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.SerializationException;
+
+import java.nio.charset.Charset;
+
+/**
+ * 文件名:FastJson2JsonRedisSerializer
+ * 版本信息:日期:2017/4/25 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
+ */
+public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
+
+    public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
+
+    private Class<T> clazz;
+
+    public FastJson2JsonRedisSerializer(Class<T> clazz) {
+        super();
+        this.clazz = clazz;
+    }
+
+    public byte[] serialize(T t) throws SerializationException {
+        if (t == null) {
+            return new byte[0];
+        }
+        return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
+    }
+
+    public T deserialize(byte[] bytes) throws SerializationException {
+        if (bytes == null || bytes.length <= 0) {
+            return null;
+        }
+        String str = new String(bytes, DEFAULT_CHARSET);
+
+        return (T) JSON.parseObject(str, clazz);
+    }
+
+}

+ 71 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/securityTools/RedisConf.java

@@ -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;
+    }
+
+}

+ 10 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/UserServiceImpl.java

@@ -8,8 +8,10 @@ import com.xintong.visualinspection.dao.master.UserDao;
 import com.xintong.visualinspection.service.BaseService;
 import com.xintong.visualinspection.service.UserService;
 import lombok.Data;
+import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -44,8 +46,9 @@ public class UserServiceImpl extends BaseService implements UserService {
     }
 
     @Override
+    @Cacheable(value = "usercache",keyGenerator = "keyGenerator")
     public User getOne(Long id) {
-        return userDao.getOne(id);
+        return getUserById(id);
     }
 
     @Override
@@ -63,6 +66,12 @@ public class UserServiceImpl extends BaseService implements UserService {
         userDao.delete(id);
     }
 
+
+    private User getUserById(Long id){
+        System.out.printf("数据库查询");
+        return userDao.getOne(id);
+    }
+
     @Override
     public UserDetails loadUserByUsername(String username) {
 

+ 32 - 0
VisualInspection_server/src/main/resources/application.properties

@@ -45,6 +45,31 @@ mybatis.type-aliases-package=com.xintong.visualinspection.bean
 
 
 
+
+
+
+# REDIS (RedisProperties)
+# Redis数据库索引(默认为0)
+spring.redis.database=0  
+# Redis服务器地址
+spring.redis.host=git.topm.win
+# Redis服务器连接端口
+spring.redis.port=6379  
+# Redis服务器连接密码(默认为空)
+spring.redis.password=xintong
+# 连接池最大连接数(使用负值表示没有限制)
+spring.redis.pool.max-active=8  
+# 连接池最大阻塞等待时间(使用负值表示没有限制)
+spring.redis.pool.max-wait=-1  
+# 连接池中的最大空闲连接
+spring.redis.pool.max-idle=8  
+# 连接池中的最小空闲连接
+spring.redis.pool.min-idle=0  
+# 连接超时时间(毫秒)
+spring.redis.timeout=0 
+
+
+
 log4j.logger.org.thymeleaf=DEBUG
 log4j.logger.org.thymeleaf.TemplateEngine.CONFIG=DEBUG
 log4j.logger.org.thymeleaf.TemplateEngine.TIMER=DEBUG
@@ -61,3 +86,10 @@ management.shell.auth.type=simple
 
 
 
+
+
+
+
+
+
+