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<String, List<ExtensionAttribute>> 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<String>,不能对转化出来的结果进行add,remove操作,因为不是ArrayList,而是Arrays里面的内部类ArrayList.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值