package com.ruoyi.framework.config; 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 org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import java.time.format.DateTimeFormatter; import java.util.TimeZone; /** * 程序注解配置 * * @author ruoyi */ @Configuration // 表示通过aop框架暴露该代理对象,AopContext能够访问 @EnableAspectJAutoProxy(exposeProxy = true) // 指定要扫描的Mapper类的包的路径 @MapperScan("com.ruoyi.**.mapper") public class ApplicationConfig { private static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; private static final String DATE_PATTERN = "yyyy-MM-dd"; /** * 时区配置 + LocalDateTime全局格式化 */ @Bean public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() { return builder -> builder .timeZone(TimeZone.getDefault()) .serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DATE_TIME_PATTERN))) .deserializers(new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DATE_TIME_PATTERN))) .serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DATE_PATTERN))) .deserializers(new LocalDateDeserializer(DateTimeFormatter.ofPattern(DATE_PATTERN))); } }