ObjectMapper

springboot使用elasticsearch报No property index found for type错误

Deadly 提交于 2020-11-24 04:42:04
一、前提:项目之前使用springboot+spring-data-mongodb。现在需要加入elasticsearch做搜索引擎,这样mongo和elasticsearch共存了。 二、报错信息: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'TTSAudioInfoEsRepository': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property index found for type TTSAudioInfo! at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java: 1578 ) at org.springframework.beans.factory.support

spring+springmvc+Interceptor+jwt+redis实现sso单点登录

拜拜、爱过 提交于 2020-11-09 11:24:15
在分布式环境中,如何支持PC、APP(ios、android)等多端的会话共享,这也是所有公司都需要的解决方案,用传统的session方式来解决,我想已经out了,我们是否可以找一个通用的方案,比如用传统cas来实现多系统之间的sso单点登录或使用oauth的第三方登录方案? 今天给大家简单讲解一下使用spring拦截器Interceptor机制、jwt认证方式、redis分布式缓存实现sso单点登录,闲话少说,直接把步骤记录下来分享给大家: 1. 引入jwt的相关jar包,在项目pom.xml中引入: Java代码 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version> 2.2 . 0 </version> </dependency> 2. 拦截器配置: Java代码 <mvc:interceptor> <mvc:mapping path= "${adminPath}/**" /> <mvc:exclude-mapping path= "${adminPath}/rest/login" /> <bean class = "com.ml.honghu.interceptor.LoginInterceptor" /> </mvc:interceptor>

Jackson最常用配置与注解

不打扰是莪最后的温柔 提交于 2020-11-04 09:37:16
一、bean import java.util.Date; import java.util.LinkedList; import java.util.List; public class Result<T> { private Integer code; private String message; private Date time; private T data; public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Date getTime() { return time; } public void setTime(Date time) { this.time = time; } public T getData() { return data; } public void setData(T data) { this.data = data; } @Override public

SpringBoot2.X + SpringCache + redis解决乱码问题

烂漫一生 提交于 2020-11-01 05:33:12
环境:SpringBoot2.X + SpringCache + Redis Spring boot默认使用的是SimpleCacheConfiguration,使用ConcurrentMapCacheManager来实现缓存。 配置: spring: redis: host: 192.168.1.192 database: 1 port: 6379 password: 123456 timeout: 1s jedis: pool: max -active: 20 max -idle: 20 min -idle: 10 max -wait: - 1ms cache: redis: use -key-prefix: true key - prefix: dev cache - null -values: false time -to-live: 20s 解决redis保存数据乱码的问题 解决从redis反序列化报错的问题 增加失效时间 @Configuration @ConfigurationProperties(prefix = "spring.cache.redis" ) public class SpringCacheRedisConfig { private Duration timeToLive = Duration.ZERO; public void

redis序列化和反序列化

痴心易碎 提交于 2020-10-28 15:20:17
RedisTemplate中需要声明4种serializer,默认为“JdkSerializationRedisSerializer”: 1) keySerializer :对于普通K-V操作时,key采取的序列化策略 2) valueSerializer:value采取的序列化策略 3) hashKeySerializer: 在hash数据结构中,hash-key的序列化策略 4) hashValueSerializer:hash-value的序列化策略 public void setSerializer(RedisTemplate template) { Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer

Springboot集成flowable modeler web流程设计器

六月ゝ 毕业季﹏ 提交于 2020-10-14 13:54:59
之前画流程图都是用tomcat启动flowable modeler,但是这样启动就不能在分配任务用户/用户组的时候查询自己系统里的数据。所以现在需要把flowable modeler集成到项目里来。 之前自己也搜索了很多文章,都感觉不是很清晰,可能也是因为我刚接触不久。现在自己集成好了之后,记录一下自己学习的结果。 首先需要创建一个springboot应用,pom文件中引入相关jar包: <properties> <java.version>1.8</java.version> <flowable.version>6.4.1</flowable.version> <lombok.version>1.18.0</lombok.version> <fastjson.version>1.2.9</fastjson.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <type>pom</type> <scope>import</scope> </dependency> <!--Spring Cloud-->

Spring RestTemplate 请求返回数据乱码 json乱码 gzip 压缩问题

你离开我真会死。 提交于 2020-10-08 10:01:06
Spring RestTemplate 调用天气预报接口可能遇到中文乱码的问题,解决思路如下。 问题出现 我们在网上找了一个免费的天气预报接口 http://wthrcdn.etouch.cn/weather_mini?citykey=101280601 。我们希望调用该接口,并将返回的数据解析为 JSON 格式。 核心业务逻辑如下: private WeatherResponse doGetWeatherData ( String uri ) { ResponseEntity < String > response = restTemplate . getForEntity ( uri , String . class ); String strBody = null ; if ( response . getStatusCodeValue () == 200 ) { strBody = response . getBody (); } ObjectMapper mapper = new ObjectMapper (); WeatherResponse weather = null ; try { weather = mapper . readValue ( strBody , WeatherResponse . class ); } catch ( IOException e

谈谈spring-boot-starter-data-redis序列化

十年热恋 提交于 2020-10-07 04:24:46
在上一篇中 springboot 2.X 集成redis 中提到了在spring-boot-starter-data-redis中使用JdkSerializationRedisSerializerl来实现序列化, 这里看下具体是如何实现的。 1.RedisSerializer接口 在spring-data-redis包下,有一个RedisSerializer接口,提供了序列化和反序列化的基本接口。 public interface RedisSerializer<T> { /** * Serialize the given object to binary data. * * @param t object to serialize. Can be {@literal null}. * @return the equivalent binary data. Can be {@literal null}. */ @Nullable byte[] serialize(@Nullable T t) throws SerializationException; /** * Deserialize an object from the given binary data. * * @param bytes object binary representation. Can be {