diff --git a/README.md b/README.md
index df46c12..6819255 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@



-[](https://travis-ci.org/moshowgame/SpringBootCodeGenerator)
+[](https://github.com/moshowgame/SpringBootCodeGenerator/actions/workflows/maven.yml)
# Author
>powered by `Moshow郑锴(大狼狗)` , [https://zhengkai.blog.csdn.net](https://zhengkai.blog.csdn.net)
@@ -73,10 +73,10 @@
# Update Logs
| 更新日期 | 更新内容 |
|:-----------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| 2024.04.21 | 推出JDK11分支,支持JDK8/JDK11/JDK17等版本,兼容性较好但维护速度较慢,为了更好兼容旧机器和旧环境
-| 2024.04.20 | 修复CDN版本cdn.staticfile.org域名备份失败问题,已同步更新到cdn.staticfile.net(本地版本则不受影响)
-| 2024.01.26 | 修复大写下滑线列名转驼峰问题(感谢@Nisus-Liu
-的PR) |
+| 2024.04.22 | [Java CI with Maven](https://github.com/moshowgame/SpringBootCodeGenerator/actions/workflows/maven.yml) 更新
SpringBoot升级到3.2.5
FastJSON升级到FastJSON2.0.49|
+| 2024.04.21 | 推出JDK11分支,支持JDK8/JDK11/JDK17等版本,兼容性较好但维护速度较慢,为了更好兼容旧机器和旧环境|
+| 2024.04.20 | 修复CDN版本cdn.staticfile.org域名备份失败问题,已同步更新到cdn.staticfile.net(本地版本则不受影响)|
+| 2024.01.26 | 修复大写下滑线列名转驼峰问题(感谢@Nisus-Liu的PR)|
| 2023.10.22 | 工具站CDN更新。 |
| 2023.08.31 | (感谢@Nisus-Liu的PR)
fix 驼峰列名转命名风格错误问题
增强转下划线命名风格, 对原始风格不敏感. 支持各种命名风格的列名 to 下划线
增加 NonCaseString 大小写不敏感字符串包装类, 简化编码
几点代码小优化。 |
| 2023.07.11 | 安全更新,正式支持SpringBoot3,javax升级到jakarta。 |
@@ -174,6 +174,13 @@
2. COPY并编写freemarker模板文件`.ftl`
3. 修改`template.json`文件,新增模板信息,页面可动态加载
+# Upgrade Issue Resolution 升级问题解决方案
+- 如果你最近也在升级FastJson到FastJson2版本,而跟我一样也遇到了FastJsonHttpMessageConverter找不到类问题以及FastJsonConfig找不到问题,那么恭喜你,看完本文,安装完fastjson2、fastjson2-extension、fastjson2-extension-spring6这三个类库,你就可以成功使用新版FastJson2了。
+ [FastJson2中FastJsonHttpMessageConverter找不到类问题](https://blog.csdn.net/moshowgame/article/details/138013669)
+
+- 当项目从2.7.x的springboot升级到3.0.x的时候,遇到一个问题“java: 程序包javax.servlet.http不存在” 问题:
+ [java: 程序包javax.servlet.http不存在](https://zhengkai.blog.csdn.net/article/details/131362304)
+
diff --git a/generator-web/src/main/java/com/softdev/system/generator/config/WebMvcConfig.java b/generator-web/src/main/java/com/softdev/system/generator/config/WebMvcConfig.java
index f7a573c..3797d68 100644
--- a/generator-web/src/main/java/com/softdev/system/generator/config/WebMvcConfig.java
+++ b/generator-web/src/main/java/com/softdev/system/generator/config/WebMvcConfig.java
@@ -1,7 +1,8 @@
package com.softdev.system.generator.config;
-import com.alibaba.fastjson.support.config.FastJsonConfig;
-import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+
+// import com.alibaba.fastjson.support.config.FastJsonConfig;
+// import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import jakarta.servlet.DispatcherType;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
@@ -12,8 +13,14 @@ import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import com.alibaba.fastjson2.JSONReader;
+import com.alibaba.fastjson2.JSONWriter;
+import com.alibaba.fastjson2.support.config.FastJsonConfig;
+import com.alibaba.fastjson2.support.spring6.http.converter.FastJsonHttpMessageConverter;
+
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
* 2019-2-11 liutf WebMvcConfig 整合 cors 和 SpringMvc MessageConverter
@@ -36,25 +43,43 @@ public class WebMvcConfig implements WebMvcConfigurer {
return registration;
}
+ // @Override
+ // public void configureMessageConverters(List> converters) {
+ // converters.clear();
+ // //FastJsonHttpMessageConverter
+ // FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
+
+ // List fastMediaTypes = new ArrayList<>();
+ // fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+ // fastConverter.setSupportedMediaTypes(fastMediaTypes);
+
+ // FastJsonConfig fastJsonConfig = new FastJsonConfig();
+ // fastJsonConfig.setCharset(StandardCharsets.UTF_8);
+ // fastConverter.setFastJsonConfig(fastJsonConfig);
+
+ // //StringHttpMessageConverter
+ // StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
+ // stringConverter.setDefaultCharset(StandardCharsets.UTF_8);
+ // stringConverter.setSupportedMediaTypes(fastMediaTypes);
+ // converters.add(stringConverter);
+ // converters.add(fastConverter);
+ // }
+ /**
+ * FASTJSON2升级 by https://zhengkai.blog.csdn.net/
+ * https://blog.csdn.net/moshowgame/article/details/138013669
+ */
@Override
public void configureMessageConverters(List> converters) {
- //FastJsonHttpMessageConverter
- FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
-
- List fastMediaTypes = new ArrayList<>();
- fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
- fastConverter.setSupportedMediaTypes(fastMediaTypes);
-
- FastJsonConfig fastJsonConfig = new FastJsonConfig();
- fastJsonConfig.setCharset(StandardCharsets.UTF_8);
- fastConverter.setFastJsonConfig(fastJsonConfig);
-
- //StringHttpMessageConverter
- StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
- stringConverter.setDefaultCharset(StandardCharsets.UTF_8);
- stringConverter.setSupportedMediaTypes(fastMediaTypes);
- converters.add(stringConverter);
- converters.add(fastConverter);
+ FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
+ //自定义配置...
+ FastJsonConfig config = new FastJsonConfig();
+ config.setDateFormat("yyyy-MM-dd HH:mm:ss");
+ config.setReaderFeatures(JSONReader.Feature.FieldBased, JSONReader.Feature.SupportArrayToBean);
+ config.setWriterFeatures(JSONWriter.Feature.WriteMapNullValue, JSONWriter.Feature.PrettyFormat);
+ converter.setFastJsonConfig(config);
+ converter.setDefaultCharset(StandardCharsets.UTF_8);
+ converter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_JSON));
+ converters.add(0, converter);
}
}
diff --git a/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java b/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java
index 5a294dc..a480b81 100644
--- a/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java
+++ b/generator-web/src/main/java/com/softdev/system/generator/service/GeneratorServiceImpl.java
@@ -1,8 +1,8 @@
package com.softdev.system.generator.service;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
import com.softdev.system.generator.entity.TemplateConfig;
import com.softdev.system.generator.util.FreemarkerUtil;
import com.softdev.system.generator.util.MapUtil;
diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java
index 3e30dcc..0f46dac 100644
--- a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java
+++ b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java
@@ -1,8 +1,8 @@
package com.softdev.system.generator.util;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
import com.softdev.system.generator.entity.ClassInfo;
import com.softdev.system.generator.entity.FieldInfo;
import com.softdev.system.generator.entity.NonCaseString;
diff --git a/pom.xml b/pom.xml
index 09ae37a..16071f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.0.8
+ 3.2.5
@@ -46,10 +46,28 @@
-
+
+
+
+
+ com.alibaba.fastjson2
+ fastjson2
+ 2.0.49
+
+
+ com.alibaba.fastjson2
+ fastjson2-extension
+ 2.0.49
+
+
+
+ com.alibaba.fastjson2
+ fastjson2-extension-spring6
+ 2.0.49
@@ -85,7 +103,7 @@
org.projectlombok
lombok
- 1.18.22
+ 1.18.32
@@ -95,23 +113,30 @@
-
+
+
+
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+ 4.0.2
+
org.apache.commons
commons-lang3
- 3.12.0
+ 3.14.0
commons-io
commons-io
- 2.11.0
+ 2.16.1