请在微信客户端打开









package wxw.mengyuan.dsf.common.bean.datetime8;import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.format.DateTimeFormatter;/*** JDK8日期时间序列化、反序列化的格式配置*/@Configurationpublic class ObjectMapperBean {@Beanpublic Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {DateTimeFormatter date = DateTimeFormatter.ofPattern("yyyy-MM-dd");DateTimeFormatter time = DateTimeFormatter.ofPattern("HH:mm:ss");DateTimeFormatter datetime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");return builder -> {builder.serializerByType(LocalDate.class, new LocalDateSerializer(date));builder.serializerByType(LocalTime.class, new LocalTimeSerializer(time));builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(datetime));builder.deserializerByType(LocalDate.class, new LocalDateDeserializer(date));builder.deserializerByType(LocalTime.class, new LocalTimeDeserializer(time));builder.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(datetime));};}}
package wxw.mengyuan.springdemo.date8;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/*** JSON转换对象*/@Configurationpublic class ObjectMapperBean {/*** JSON转换*/@Bean@Primarypublic ObjectMapper objectMapper() {DateTimeFormatter date = DateTimeFormatter.ofPattern("yyyy-MM-dd");DateTimeFormatter time = DateTimeFormatter.ofPattern("HH:mm:ss");DateTimeFormatter datetime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");// 创建对象ObjectMapper mapper = new ObjectMapper();// 识别Java8的日期时间、并且设置格式JavaTimeModule javaTimeModule = new JavaTimeModule();javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(date));javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(time));javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(datetime));javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(date));javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(time));javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(datetime));mapper.registerModule(javaTimeModule);// 返回对象return mapper;}}
package wxw.mengyuan.springdemo.hibernate;import com.fasterxml.jackson.annotation.JsonFormat;import jakarta.validation.constraints.NotNull;import lombok.Getter;import lombok.Setter;import java.io.Serial;import java.io.Serializable;import java.time.LocalDateTime;/*** 视图类*/@Setter@Getterpublic class SpringDemoVO implements Serializable {/** 序列版本号 */@Serialprivate static final long serialVersionUID = 1L;@NotNull(message = "【开始时间】不能为空")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime startTime;@NotNull(message = "【结束时间】不能为空")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")private LocalDateTime endTime;}
夜雨聆风