From 22be7b5a7e0bf1d31b7befc0329526eb4ce54544 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Tue, 19 Mar 2024 09:49:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BF=AE=E6=94=B9):=20=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=99=A8-JacksonObjectMapper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logs/dev-sky-serve-redis/spring.log | 128 ++++++++++++++++++ .../common/config/WebMvcConfiguration.java | 12 +- 2 files changed, 130 insertions(+), 10 deletions(-) diff --git a/logs/dev-sky-serve-redis/spring.log b/logs/dev-sky-serve-redis/spring.log index 691844b..d5b9a77 100644 --- a/logs/dev-sky-serve-redis/spring.log +++ b/logs/dev-sky-serve-redis/spring.log @@ -2186,3 +2186,131 @@ com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time 09:43:30:546 INFO 18028 --- [main] com.sky.SkyApplication : Started SkyApplication in 3.436 seconds (JVM running for 4.009) 09:43:32:363 INFO 18028 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... 09:43:32:364 INFO 18028 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed +09:43:35:614 INFO 5672 --- [main] com.sky.SkyApplication : Starting SkyApplication using Java 18.0.2 on Bunny with PID 5672 (F:\File\Java\sky\dev-sky-serve-redis\sky-server\target\classes started by ACE in F:\File\Java\sky\dev-sky-serve-redis) +09:43:35:615 INFO 5672 --- [main] com.sky.SkyApplication : The following 1 profile is active: "dev" +09:43:36:174 INFO 5672 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +09:43:36:176 INFO 5672 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +09:43:36:194 INFO 5672 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 10 ms. Found 0 Redis repository interfaces. +09:43:36:615 INFO 5672 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +09:43:36:620 INFO 5672 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +09:43:36:620 INFO 5672 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] +09:43:36:695 INFO 5672 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +09:43:36:695 INFO 5672 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1052 ms +09:43:36:764 INFO 5672 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource +09:43:36:838 INFO 5672 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited +09:43:37:428 INFO 5672 --- [main] c.s.c.config.RestTemplateConfiguration : 注入restTemplate +09:43:37:561 INFO 5672 --- [main] c.sky.common.config.WebMvcConfiguration : 开始注册自定义拦截器... +09:43:37:629 INFO 5672 --- [main] c.s.common.config.Knife4jConfiguration : A管理端接口 +09:43:37:633 INFO 5672 --- [main] c.s.common.config.Knife4jConfiguration : B用户端接口 +09:43:37:633 INFO 5672 --- [main] c.s.common.config.Knife4jConfiguration : Pay支付接口 +09:43:37:668 INFO 5672 --- [main] c.sky.common.config.WebMvcConfiguration : 扩展消息转换器... +09:43:37:671 INFO 5672 --- [main] c.s.common.config.ResourceConfiguration : 设置静态资源映射 +09:43:37:739 INFO 5672 --- [main] c.s.c.config.WebSocketConfiguration : WebSocket配置类,用于注册WebSocket的Bean +09:43:37:963 INFO 5672 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +09:43:38:406 INFO 5672 --- [main] com.sky.SkyApplication : Started SkyApplication in 3.048 seconds (JVM running for 3.591) +09:43:39:795 INFO 5672 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +09:43:39:795 INFO 5672 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +09:43:39:796 INFO 5672 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +09:43:39:811 INFO 5672 --- [http-nio-8080-exec-1] c.s.c.i.RedisTokenAdminInterceptor : jwt校验:2cd15f52-d21f-42f1-9ba1-5bb496c24682 +09:43:40:222 INFO 5672 --- [http-nio-8080-exec-1] c.s.c.i.RedisTokenAdminInterceptor : 当前员工ID:1 +09:43:40:238 INFO 5672 --- [http-nio-8080-exec-1] c.s.controller.admin.EmployeeController : 员工分页查询,参数:EmployeePageQueryDTO(name=null, page=1, pageSize=15) +09:43:40:553 DEBUG 5672 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : ==> Preparing: SELECT count(0) FROM employee +09:43:40:564 DEBUG 5672 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : ==> Parameters: +09:43:40:602 DEBUG 5672 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : <== Total: 1 +09:43:40:604 DEBUG 5672 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : ==> Preparing: select * from employee order by create_time desc LIMIT ? +09:43:40:605 DEBUG 5672 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : ==> Parameters: 15(Integer) +09:43:40:629 DEBUG 5672 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : <== Total: 1 +09:44:00:008 INFO 5672 --- [scheduling-1] com.sky.task.OrderTask : 定时处理超时订单:2024-03-19T09:44:00.008559600 +09:44:00:011 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Preparing: select * from orders where status = ? and order_time < ?; +09:44:00:012 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Parameters: 1(Integer), 2024-03-19T09:29:00.008559600(LocalDateTime) +09:44:00:046 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : <== Total: 0 +09:45:00:010 INFO 5672 --- [scheduling-1] com.sky.task.OrderTask : 定时处理超时订单:2024-03-19T09:45:00.010827600 +09:45:00:011 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Preparing: select * from orders where status = ? and order_time < ?; +09:45:00:012 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Parameters: 1(Integer), 2024-03-19T09:30:00.011827500(LocalDateTime) +09:45:00:033 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : <== Total: 0 +09:46:00:012 INFO 5672 --- [scheduling-1] com.sky.task.OrderTask : 定时处理超时订单:2024-03-19T09:46:00.012499500 +09:46:00:013 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Preparing: select * from orders where status = ? and order_time < ?; +09:46:00:014 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Parameters: 1(Integer), 2024-03-19T09:31:00.013496200(LocalDateTime) +09:46:00:035 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : <== Total: 0 +09:47:00:005 INFO 5672 --- [scheduling-1] com.sky.task.OrderTask : 定时处理超时订单:2024-03-19T09:47:00.005310100 +09:47:00:007 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Preparing: select * from orders where status = ? and order_time < ?; +09:47:00:008 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Parameters: 1(Integer), 2024-03-19T09:32:00.006333300(LocalDateTime) +09:47:00:030 DEBUG 5672 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : <== Total: 0 +09:47:39:399 INFO 5672 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... +09:47:39:402 INFO 5672 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed +09:47:43:846 INFO 17488 --- [main] com.sky.SkyApplication : Starting SkyApplication using Java 18.0.2 on Bunny with PID 17488 (F:\File\Java\sky\dev-sky-serve-redis\sky-server\target\classes started by ACE in F:\File\Java\sky\dev-sky-serve-redis) +09:47:43:847 INFO 17488 --- [main] com.sky.SkyApplication : The following 1 profile is active: "dev" +09:47:44:408 INFO 17488 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +09:47:44:409 INFO 17488 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +09:47:44:427 INFO 17488 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 10 ms. Found 0 Redis repository interfaces. +09:47:44:890 INFO 17488 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +09:47:44:896 INFO 17488 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +09:47:44:896 INFO 17488 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] +09:47:44:976 INFO 17488 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +09:47:44:977 INFO 17488 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1097 ms +09:47:45:050 INFO 17488 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource +09:47:45:131 INFO 17488 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited +09:47:45:742 INFO 17488 --- [main] c.s.c.config.RestTemplateConfiguration : 注入restTemplate +09:47:45:876 INFO 17488 --- [main] c.sky.common.config.WebMvcConfiguration : 开始注册自定义拦截器... +09:47:45:941 INFO 17488 --- [main] c.s.common.config.Knife4jConfiguration : A管理端接口 +09:47:45:944 INFO 17488 --- [main] c.s.common.config.Knife4jConfiguration : B用户端接口 +09:47:45:945 INFO 17488 --- [main] c.s.common.config.Knife4jConfiguration : Pay支付接口 +09:47:45:977 INFO 17488 --- [main] c.sky.common.config.WebMvcConfiguration : 扩展消息转换器... +09:47:45:981 INFO 17488 --- [main] c.s.common.config.ResourceConfiguration : 设置静态资源映射 +09:47:46:048 INFO 17488 --- [main] c.s.c.config.WebSocketConfiguration : WebSocket配置类,用于注册WebSocket的Bean +09:47:46:266 INFO 17488 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +09:47:46:695 INFO 17488 --- [main] com.sky.SkyApplication : Started SkyApplication in 3.131 seconds (JVM running for 3.679) +09:47:48:836 INFO 17488 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +09:47:48:836 INFO 17488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +09:47:48:837 INFO 17488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +09:47:48:855 INFO 17488 --- [http-nio-8080-exec-1] c.s.c.i.RedisTokenAdminInterceptor : jwt校验:2cd15f52-d21f-42f1-9ba1-5bb496c24682 +09:47:49:257 INFO 17488 --- [http-nio-8080-exec-1] c.s.c.i.RedisTokenAdminInterceptor : 当前员工ID:1 +09:47:49:269 INFO 17488 --- [http-nio-8080-exec-1] c.s.controller.admin.EmployeeController : 员工分页查询,参数:EmployeePageQueryDTO(name=null, page=1, pageSize=15) +09:47:49:561 DEBUG 17488 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : ==> Preparing: SELECT count(0) FROM employee +09:47:49:574 DEBUG 17488 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : ==> Parameters: +09:47:49:611 DEBUG 17488 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : <== Total: 1 +09:47:49:613 DEBUG 17488 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : ==> Preparing: select * from employee order by create_time desc LIMIT ? +09:47:49:614 DEBUG 17488 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : ==> Parameters: 15(Integer) +09:47:49:638 DEBUG 17488 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : <== Total: 1 +09:47:53:413 INFO 17488 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... +09:47:53:417 INFO 17488 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed +09:47:56:560 INFO 14548 --- [main] com.sky.SkyApplication : Starting SkyApplication using Java 18.0.2 on Bunny with PID 14548 (F:\File\Java\sky\dev-sky-serve-redis\sky-server\target\classes started by ACE in F:\File\Java\sky\dev-sky-serve-redis) +09:47:56:561 INFO 14548 --- [main] com.sky.SkyApplication : The following 1 profile is active: "dev" +09:47:57:186 INFO 14548 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +09:47:57:188 INFO 14548 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +09:47:57:208 INFO 14548 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 11 ms. Found 0 Redis repository interfaces. +09:47:57:667 INFO 14548 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +09:47:57:675 INFO 14548 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +09:47:57:675 INFO 14548 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] +09:47:57:781 INFO 14548 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +09:47:57:781 INFO 14548 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1144 ms +09:47:57:883 INFO 14548 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource +09:47:57:977 INFO 14548 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited +09:47:58:611 INFO 14548 --- [main] c.s.c.config.RestTemplateConfiguration : 注入restTemplate +09:47:58:770 INFO 14548 --- [main] c.sky.common.config.WebMvcConfiguration : 开始注册自定义拦截器... +09:47:58:845 INFO 14548 --- [main] c.s.common.config.Knife4jConfiguration : A管理端接口 +09:47:58:848 INFO 14548 --- [main] c.s.common.config.Knife4jConfiguration : B用户端接口 +09:47:58:849 INFO 14548 --- [main] c.s.common.config.Knife4jConfiguration : Pay支付接口 +09:47:58:883 INFO 14548 --- [main] c.sky.common.config.WebMvcConfiguration : 扩展消息转换器... +09:47:58:886 INFO 14548 --- [main] c.s.common.config.ResourceConfiguration : 设置静态资源映射 +09:47:58:942 INFO 14548 --- [main] c.s.c.config.WebSocketConfiguration : WebSocket配置类,用于注册WebSocket的Bean +09:47:59:156 INFO 14548 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +09:47:59:576 INFO 14548 --- [main] com.sky.SkyApplication : Started SkyApplication in 3.308 seconds (JVM running for 3.876) +09:48:00:015 INFO 14548 --- [scheduling-1] com.sky.task.OrderTask : 定时处理超时订单:2024-03-19T09:48:00.015714100 +09:48:00:287 DEBUG 14548 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Preparing: select * from orders where status = ? and order_time < ?; +09:48:00:302 DEBUG 14548 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : ==> Parameters: 1(Integer), 2024-03-19T09:33:00.019728600(LocalDateTime) +09:48:00:340 DEBUG 14548 --- [scheduling-1] c.s.m.O.getByStatusAndOrderTime : <== Total: 0 +09:48:04:185 INFO 14548 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +09:48:04:186 INFO 14548 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +09:48:04:187 INFO 14548 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +09:48:04:203 INFO 14548 --- [http-nio-8080-exec-1] c.s.c.i.RedisTokenAdminInterceptor : jwt校验:2cd15f52-d21f-42f1-9ba1-5bb496c24682 +09:48:04:579 INFO 14548 --- [http-nio-8080-exec-1] c.s.c.i.RedisTokenAdminInterceptor : 当前员工ID:1 +09:48:04:593 INFO 14548 --- [http-nio-8080-exec-1] c.s.controller.admin.EmployeeController : 员工分页查询,参数:EmployeePageQueryDTO(name=null, page=1, pageSize=15) +09:48:04:631 DEBUG 14548 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : ==> Preparing: SELECT count(0) FROM employee +09:48:04:631 DEBUG 14548 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : ==> Parameters: +09:48:04:656 DEBUG 14548 --- [http-nio-8080-exec-1] c.s.m.EmployeeMapper.pageQuery_COUNT : <== Total: 1 +09:48:04:657 DEBUG 14548 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : ==> Preparing: select * from employee order by create_time desc LIMIT ? +09:48:04:658 DEBUG 14548 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : ==> Parameters: 15(Integer) +09:48:04:701 DEBUG 14548 --- [http-nio-8080-exec-1] com.sky.mapper.EmployeeMapper.pageQuery : <== Total: 1 +09:48:13:662 INFO 14548 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... +09:48:13:666 INFO 14548 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed diff --git a/sky-common/src/main/java/com/sky/common/config/WebMvcConfiguration.java b/sky-common/src/main/java/com/sky/common/config/WebMvcConfiguration.java index 0d25ae5..3c9e1e2 100644 --- a/sky-common/src/main/java/com/sky/common/config/WebMvcConfiguration.java +++ b/sky-common/src/main/java/com/sky/common/config/WebMvcConfiguration.java @@ -1,12 +1,8 @@ package com.sky.common.config; -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.datatype.jsr310.JavaTimeModule; import com.sky.common.interceptor.JwtTokenUserInterceptor; import com.sky.common.interceptor.RedisTokenAdminInterceptor; +import com.sky.common.json.JacksonObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; @@ -48,12 +44,8 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { log.info("扩展消息转换器..."); // 创建一个消息转换器对象 MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); - objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); - objectMapper.registerModule(new JavaTimeModule()); // 需要为消息转换器设置一个对象转换器,对象转换器可以将Java对象序列化为json数据 - converter.setObjectMapper(objectMapper); + converter.setObjectMapper(new JacksonObjectMapper()); // 将自己的消息转化器加入容器中 converters.add(0, converter); }