bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能

简介: bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能,支持对象循环引用/自引用关系的序列化和反序列化,在此发文介绍一下这个功能。 首先看一下如何构造一组复杂对象: Test1 test1 = new Test1(); Test2 test2 = new Test2(); Test3 test3 = new Test3(); test2.
bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能,支持对象循环引用/自引用关系的序列化和反序列化,在此发文介绍一下这个功能。

首先看一下如何构造一组复杂对象:
Test1 test1 = new Test1();
		Test2 test2 = new Test2();
		Test3 test3 = new Test3();
		test2.setTest1(test1);
		test1.setTest2(test2);
		test1.setTest3(test3);
		test3.setTest2(test2);


然后再看看序列化和反序列化操作:

String ss = ObjectSerializable.toXML(test1);
		Test1 test1_ =  (Test1)ObjectSerializable.toBean(ss,Test1.class);


我们看一张图解说明:

img_8189fb9f96da450fbac753a0c6a99135.jpe


我们再看看序列化所产生的报文格式(实际上对应的报文全部采用压缩格式,xml元素名称和属性全部采用缩写格式,以减少数据报文大小),这里采用明文是为了便于阅读,而且给出的是一个更加复杂的对象结构:

img_0b5bfbbe5dde4878062909984a34cfb3.jpe

现在bboss 的序列化机制已经能够想java的serializable和xtream一样支持各种复杂数据对象了,恢复时,除了能够恢复数据,还能够恢复对象之间的引用关系。

序列化能够支持这个功能,完全依赖于bboss aop框架对对象循环引用依赖注入功能的支持,并且支持配置文件中各种内部对象之间的相互引用,就像c中的指针一样,这个功能也是bbossgroups 3.5中的新特性。

最新代码已经提交到 github,哈哈。

也可到以下下载地址: bbossgroups-3.5

序列化测试用例: TestSerializable
目录
相关文章
|
1月前
|
JSON Java API
GSON 泛型对象反序列化解决方案
GSON 泛型对象反序列化解决方案
|
3月前
|
分布式计算 Java 大数据
IO流【Java对象的序列化和反序列化、File类在IO中的作用、装饰器模式构建IO流体系、Apache commons-io工具包的使用】(四)-全面详解(学习总结---从入门到深化)
IO流【Java对象的序列化和反序列化、File类在IO中的作用、装饰器模式构建IO流体系、Apache commons-io工具包的使用】(四)-全面详解(学习总结---从入门到深化)
53 0
|
1月前
|
JSON Android开发 数据格式
android 使用GSON 序列化对象出现字段被优化问题解决方案
android 使用GSON 序列化对象出现字段被优化问题解决方案
|
2月前
|
vr&ar
MFC序列化及反序列化对象
MFC序列化及反序列化对象
18 0
|
3月前
|
存储 JSON 运维
PowerShell 对象的序列化和反序列化
PowerShell 对象的序列化和反序列化
36 0
|
4月前
|
缓存 NoSQL Java
Spring Data Redis对象缓存序列化问题
在使用 Redis 时,有没有遇到同我一样,对象缓存序列化问题的呢?
67 6
Spring Data Redis对象缓存序列化问题
|
4月前
|
存储 Java
对象序列化流和对象反序列化流
对象序列化流和对象反序列化流
45 0
|
4月前
|
XML 存储 JSON
C# | 使用Json序列化对象时忽略只读的属性
将对象序列化成为Json字符串是一个使用频率非常高的功能。Json格式具有很高的可读性,同时相较于XML更节省空间。 在开发过程中经常会遇到需要保存配置的场景,比如将配置信息保存在配置类型的实例中,再将这个对象序列化成为Json字符串并保存。当需要加载配置时,则是读取Json格式的字符串再将其还原成配置对象。在序列化的过程中,默认会将所有公开的属性和字段都序列化进入Json字符串中,这其中也会包含只读的属性或字段,而只读的属性和字段在反序列化的过程中其实是无意义的,也就是说这一部分存储是多余的。 本文将讲解如何在执行Json序列化时,忽略掉那些只读的属性和字段。
54 0
C# | 使用Json序列化对象时忽略只读的属性
|
5月前
|
缓存 安全 网络协议
对象的序列化与反序列化详解
对象的序列化与反序列化详解
49 0
对象的序列化与反序列化详解
|
6月前
|
XML JavaScript 前端开发
SAP UI5 Fiori Elements annotation 文件序列化成 DOM 对象的逻辑
SAP UI5 Fiori Elements annotation 文件序列化成 DOM 对象的逻辑
29 0

热门文章

最新文章