天天看點

Springboot使用redis過程中的報錯問題

作者:德才兼備清風Q

一、自動注入沒有添加泛型問題

自定義RedisTemplate<String,Object>後,在使用時,需要在自動注入的RedisTemplate中添加泛型為RedisTemplate<String,Object>,否則會報錯:

com.fasterxml.jackson.core.JsonParseException: Unexpected character ('z' (code 122)): Expected space separating root-level values。

Springboot使用redis過程中的報錯問題

添加了泛型沒有再報錯

二、日期類型序列化問題

自定義了RedisTemplate<String,Object>後,當将Redis存儲的User對象取出強轉為User類型時報錯:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.time.LocalDateTime` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

Springboot使用redis過程中的報錯問題

User中的LocalDateTime類型需要指定序列化和反序列化的方式,使用@JsonDeserialize和@JsonSerialize注解:

Springboot使用redis過程中的報錯問題

添加序列化和反序列化注解

繼續閱讀