|
@@ -13,25 +13,32 @@ import org.springframework.cloud.netflix.feign.EnableFeignClients;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
|
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.multipart.MultipartResolver;
|
|
|
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 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.SLF4JImpl;
|
|
|
|
|
|
-@ComponentScan(basePackages = { "com.qmth.commons", "cn.com.qmth" })
|
|
|
-@EntityScan(basePackages = { "com.qmth.commons", "cn.com.qmth" })
|
|
|
-@EnableJpaRepositories(basePackages = { "com.qmth.commons",
|
|
|
- "cn.com.qmth" }, repositoryBaseClass = BaseQueryDaoImpl.class)
|
|
|
+@ComponentScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
|
+@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
|
+@EnableJpaRepositories(basePackages = {"com.qmth.commons",
|
|
|
+ "cn.com.qmth"}, repositoryBaseClass = BaseQueryDaoImpl.class)
|
|
|
@SpringBootApplication
|
|
|
@EnableEurekaClient
|
|
|
@EnableFeignClients
|
|
|
@EnableDiscoveryClient
|
|
|
-@EnableAutoConfiguration(exclude = { MultipartAutoConfiguration.class })
|
|
|
+@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
|
|
|
public class CoreBasicApp {
|
|
|
|
|
|
private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(CoreBasicApp.class);
|
|
@@ -50,6 +57,23 @@ public class CoreBasicApp {
|
|
|
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(name = "multipartResolver")
|
|
|
public MultipartResolver multipartResolver() {
|
|
|
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
|