最近,完成了从原先使用Golang生成报表的工程项目,到Java项目来重构。
【背景内容】
最初使用Golang,主要是由于语言自身的精简性。不管是搭建HTTP服务端,还是对传统数据库的数据获取,都有很方便的代码实现。另外的优势,可以生成面向各种操作系统的运行文件,并且都不大,很容易部署。这个尤其和Java,Nodejs比较,有很大的优势。
先前在很多项目中,使用了Golang来实现。体会语言的优势,也在熟悉和打磨。
用来生成报表的项目,数据库操作有点麻烦,所以也会继续使用Golang。在生成doc以及Pdf文件的方式上面,使用了Github中的docx(github.com/nguyenthenguyen/docx),这是可以通过读取模板文件来生成Office文档的工具。模板和数据的分离,是比较高效的通过代码来实现生成文件的方式。在Golang中也有收费的office操作组件,unioffice。无奈收费太高,只能使用免费的。
其他主要使用的框架组件是Goframe,go-echarts。
【重构原因】
项目搭建完成后,生成的Office文件,总体效果一般,尤其使用go-echarts得到的柱状图,线形图的整体效果,不是特别理想。尤其在echarts中很多的属性项目,都需要通过相关的go-echarts的相关方法来实现,在没有很好的帮助文档帮助下,很多时候都需要重复尝试效果,在隔一段时间重新整理代码的时候,会无法明白当初这样写的原因。
另外出现的问题,就是将生成的charts图表文件,嵌入到word文档中的时候,图片的长宽设置,以及余白设置会出现配置问题。一直没有找到很好的,以逸待劳的办法。
【重构过程】
转来转去,还是回到使用Java的这条路。
Java中,目前比较成熟的框架就是Springboot,数据库使用的是Mybatis,数据对象来源的是MySQL和MongoDB,生成Offfice文档以及的echarts的库,则是使用Itext,freemarker,jfreechart。生成office和echarts,都是通过读取预先配置的模板文件,很好的能够解决后期的各种升级的问题,当然网络上关于这些都有比较多的疑难问题的解决方案。
在使用Mybatis时候,查询了相关视频和帮助文档,这套工具原先使用的不多,这次使用了MybatisX的工具,很方便的自动生成了配置代码。
项目中浪费了不少精力的内容,则是针对MongoDB操作。Golang和Nodejs都有接近MongoDB语法的操作语句,而在Java中则是偏向于对象的方法,一些常见的数据聚合操作,没有找到合适的方法,最后通过Java的流操作来实现。
部署的方法,倒没有怎么折腾,还是通常的docker方式,包文件大了不少,和Golang相比没有什么优势。
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者kagaku所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(golang调用java)(java调用golang区块链)
本文链接:https://www.51qsb.cn/article/m8tgq.html