| | |
| | | import com.fasterxml.jackson.annotation.JsonAutoDetect; |
| | | import com.fasterxml.jackson.annotation.PropertyAccessor; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.SerializationFeature; |
| | | import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; |
| | | import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; |
| | | import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; |
| | | import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; |
| | | import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; |
| | | import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; |
| | | import com.gkhy.assess.common.service.RedisService; |
| | | import com.gkhy.assess.common.service.impl.RedisServiceImpl; |
| | | import org.springframework.context.annotation.Bean; |
| | |
| | | import org.springframework.data.redis.serializer.StringRedisSerializer; |
| | | |
| | | import java.time.Duration; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | |
| | | /** |
| | | * Redis基础配置 |
| | |
| | | Jackson2JsonRedisSerializer<Object> serializer=new Jackson2JsonRedisSerializer<>(Object.class); |
| | | ObjectMapper objectMapper=new ObjectMapper(); |
| | | objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); |
| | | |
| | | //LocalDatetime序列化 |
| | | JavaTimeModule timeModule = new JavaTimeModule(); |
| | | timeModule.addDeserializer(LocalDate.class, |
| | | new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | timeModule.addDeserializer(LocalDateTime.class, |
| | | new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | timeModule.addSerializer(LocalDate.class, |
| | | new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | timeModule.addSerializer(LocalDateTime.class, |
| | | new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | |
| | | objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); |
| | | objectMapper.registerModule(timeModule); |
| | | |
| | | //必须设置,否则无法将JSON转化为对象,会转化成Map类型 |
| | | objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.NON_FINAL); |
| | | serializer.setObjectMapper(objectMapper); |