|
@@ -1,6 +1,7 @@
|
|
package cn.com.qmth.examcloud.core.examwork.starter;
|
|
package cn.com.qmth.examcloud.core.examwork.starter;
|
|
|
|
|
|
import org.slf4j.MDC;
|
|
import org.slf4j.MDC;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.boot.SpringApplication;
|
|
import org.springframework.boot.SpringApplication;
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
@@ -13,15 +14,24 @@ import org.springframework.cloud.netflix.feign.EnableFeignClients;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
|
|
|
+import org.springframework.data.redis.connection.RedisConnectionFactory;
|
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
|
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
|
|
|
|
+import org.springframework.data.redis.serializer.StringRedisSerializer;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.multipart.MultipartResolver;
|
|
import org.springframework.web.multipart.MultipartResolver;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
|
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
|
|
|
+import com.fasterxml.jackson.annotation.PropertyAccessor;
|
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.qmth.commons.query.dao.impl.BaseQueryDaoImpl;
|
|
import com.qmth.commons.query.dao.impl.BaseQueryDaoImpl;
|
|
|
|
|
|
import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
|
|
import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
|
|
import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
|
|
import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
|
|
import cn.com.qmth.examcloud.commons.base.logging.SLF4JImpl;
|
|
import cn.com.qmth.examcloud.commons.base.logging.SLF4JImpl;
|
|
|
|
+import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
|
|
|
|
+import cn.com.qmth.examcloud.commons.web.redis.RedisClientImpl;
|
|
|
|
|
|
@ComponentScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
@ComponentScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
@@ -55,6 +65,29 @@ public class CoreExamWorkApp {
|
|
return new RestTemplate();
|
|
return new RestTemplate();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Bean
|
|
|
|
+ public RedisTemplate<String, Object> redisTemplate(
|
|
|
|
+ RedisConnectionFactory redisConnectionFactory) {
|
|
|
|
+ RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
|
|
|
|
+ redisTemplate.setConnectionFactory(redisConnectionFactory);
|
|
|
|
+ Jackson2JsonRedisSerializer<?> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(
|
|
|
|
+ Object.class);
|
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
+ objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
|
|
|
+ objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
|
|
|
|
+ jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
|
|
|
|
+ redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
|
|
|
|
+ redisTemplate.setKeySerializer(new StringRedisSerializer());
|
|
|
|
+ redisTemplate.afterPropertiesSet();
|
|
|
|
+ return redisTemplate;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Bean
|
|
|
|
+ @Autowired
|
|
|
|
+ public RedisClient redisClient(RedisTemplate<String, Object> redisTemplate) {
|
|
|
|
+ return new RedisClientImpl(redisTemplate);
|
|
|
|
+ }
|
|
|
|
+
|
|
@Bean(name = "multipartResolver")
|
|
@Bean(name = "multipartResolver")
|
|
public MultipartResolver multipartResolver() {
|
|
public MultipartResolver multipartResolver() {
|
|
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
|
|
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
|