抛砖引玉,写了一个javabean和固定格式报文相互解包、拆包的类,供大家参考
最近在用java做报文的解包、拆包,其中包括xml报文和javabean之间的转换,采用了开源框架castor。
javabean和固定格式报文的转换,没有找到相应的开源框架,自己写了一个通用的类,抛砖引玉一下,请大家参考,欢迎提意见一起探讨完善。
其中,类名、方法名,为了容易看懂,没有进行缩写。
固定报文的格式定义,采用了string的三维数组,进一步开发,可以放置到xml配置文件中。目前各种框架都采用xml作为配置文件。
字段长度不够时,补充字符是char到byte进行了强制转换,不适用于所有字符。
其中,Method类生成,每个字段都生成一个,不能重复使用,通用的反射框架,一般是先对类进行解析,生成静态变量容器Map,进行存储,再根据配置文件,直接去静态变量容器Map中进行获取,可以重复使用,这里是可以进一步完善的地方。
一个类只能简单的做到对报文生成解析工作与报文的具体格式的解耦,不再需要为每一个报文的生成和解析分别写一个方法,报文变了可以只修改报文定义的String数组就可以。