SpringBoot启动时序列化对象时报java.lang.StackOverflowError错

将项目改造成SpringBoot,使用了AOP切面日志,配置完之后启动项目,报java.lang.StackOverflowError错。

图片说明

下面是我的AOP配置:

图片说明

打过断点,定位到报错的地方是其中的:LogInterceptor.java

图片说明

new Gson().toJson(arguments[i])往底层走,在这一步报:

图片说明
图片说明
图片说明

百度了很多方法,但是没有找到有效的,求大佬指点迷津!

大对象实例化。切点配置了“Server”,所以切点切自己了。

你看看是不是你设置了多个AOP切面,但没设置顺序,有栈冲突。
图片说明
像这样规定下切面的顺序@Order(1)
看你错误是数据库问题。
如果你的Mysql比较高版本6以上,就设置下
driver-class-name: com.mysql.cj.jdbc.Driver

首先你确定一下你所使用的日志是哪一种,springboot默认使用的日志是logback内嵌在springboot中,如果要使用别的日志需要排除logback否则就会报错。

你的JVM参数-Xss 是不是太小了,调大 -Xss 参数看看;