Java 一些异常报错、注意事项

Java 一些异常报错、注意事项,第1张

记录一:代码运行时数据正常,返回接口数据异常,出现"attributes": {"$ref": "$.data[0].attributes"}

for循环里面执行的代码:

FlowNode node = (FlowNode) elements.get(0);
activityVo.setAttributes(node.getAttributes());

原因:$ref代表重复引用或循环引用产生的序列化问题。(重复引用就是一个集合/对象中的多个元素/属性同时引用同一对象,循环引用就是集合/对象中的多个元素/属性存在相互引用致使循环)

“$ref”:”..” 上一级
“$ref”:”@” 当前对象,也就是自引用
“$ref”:”$” 根对象
{"$ref":"../.."} 引用父对象的父对象
“$ref”:”$.children.0” 基于路径的引用,相当于root.getChildren().get(0)

解决方法:

FlowNode node = (FlowNode) elements.get(0);
 String attStr = JSON.toJSONString(node.getAttributes(), SerializerFeature.DisableCircularReferenceDetect);
 Map> newAttributes = JSON.parseObject(attStr,Map.class);
                    activityVo.setAttributes(newAttributes);

 

记录二:报错org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name ‘testService’:

原因:创建bean的时候出现了循环引用

解决方法:

通过懒加载的方式,加上@Lazy

@Resource
@Lazy
private TestService testService;

 

记录三:.jks文件(JAVA KeyStore)


jks是Java密钥库(KeyStore)比较常见的一种格式(其他有JKS, JCEKS, PKCS12, BKS,UBER),是JAVA的keytools证书工具支持的证书私钥格式。java用的存储密钥的容器。可以同时容纳n个公钥或私钥,后缀一般是.jks或者.keystore或.truststore等。

记录四:java.lang.UnsupportedOperationException


原因:将String[]转化为List,不能对转化出来的结果进行add,remove *** 作,因为不是ArrayList,而是Arrays里面的内部类ArrayList.

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/757343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-30
下一篇 2022-04-30

发表评论

登录后才能评论

评论列表(0条)

保存