软件外包都是体力活啊,这是入行后老人的第一句话。
幸好老人还有第二句话,自己写代码生成工具吧。
果然发现自己做的工作,完全可以靠工具来生成。
背景
一堆重复性工作:
注释,javabean,domain object与 TO 以及TO与BO的互相设值,bean的基本校验,如长度,非空,是否必选......
基本思路是
读取开发文档生成必要的xml,解析XML然后通过模板文件替换或添加.....
1.为啥要XML,因为它这种数据结构比较强大,而且我也不一定能自己构建出比较好的数据结构,比较菜.....
2.为啥用groovy,因为开发环境里面只有这个脚本语言,又不想用java这种八股文去长篇大论。而且groovy解析xml还算简单。
目前遇到的困难:
因为domainObject关系挺多的,子类,父类,还有inner lass,如何高效生成完整的domain的field结构图,比较头疼。
注意是domain的字段结构图
具体问题描述:
举例来说:
public class Guest extends Person{
private Address address;
}
public class Address {
private String addressName;
}
那这个guest的domain field结构图就是
Guest.Address.addressName
如果person里面还有料的话,比如
public class Person{
private String name;
}
那 domain的field结构图 又变成了
Guest.Address.addressName
Guest.name
现在的做法:
两个list,从一个起点开始,读取文件,遇见自定义类型,保存类型,继续读文件,直到读到基本类型再push进list,然后退回到上一层,pop掉刚才的那层,读上一层其他字段......
遇到有重复N的自定义类型,就得读N遍文件,还得用set来保证字段的唯一性,我艹.....
缺点
假设有N个bean 每个bean的有M个自定义字段,每个自定义字段有L层,假设M个字段不重复,L层不重复,则我要进行 N*M*L次文件操作,我果然很浪费时间啊,看来还要换个思路
有空去研究下javaDoc的生成class结构把
————————————————————————————————————————
现在完全没有动力,工作的最大动力就是完善自己的工作代码生成工具.然后看自己的东西。
分享到:
相关推荐
IDEA自带的插件Generate POJOs.groovy 比较简陋,不能生成完整的dao/mapper,切生成的POJO没有注解。没有统一格式化,所以在此基础上进行了扩展能够简单的生成pojo/dao/mapper. 使用时选择目录后会在改目录下生成...
Groovy in Action的源代码。Groovy in Action的源代码。
日常的开发都用到 Mybatis Plus,但是每次开新功能都得设计表、映射实体代码,写相关service、mapper。...于是自己写了个Groovy脚本来生成 演示文章链接:https://blog.csdn.net/m4330187/article/details/122444249
支持在线编辑写好SQL或者Java源码、Groovy源码、Python源码(TODO),JavaScript源码(TODO)、Shell脚本,后即可快速生成Rest接口对外提供服务,同时支持服务在线热加载在线编辑替换逻辑,还将提供了一键生成CRUD...
在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。目前的 Groovy 版本是 1.5.4,在 Java 1.4 和 Java 5 平台上都能使用,也能在 Java 6 上使用。 Groovy 的一个好处是,它的语法...
基于groovy框架,进行的简单java动态代码执行;附件中包含java调用groovy具体的代码实现,及测试方法。
groovy代码-测试代码保存
groovy 创建xml,并生成xml文件的代码
springboot jpa 自动生成实体类的 文件 可以拿走直接用 Generate POJOs.groovy
一些groovy的实例代码,需要的朋友就赶紧下载吧
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
研究表明,使用Groovy比使用Java写程序,代码量少3-10倍。 DSL是新一代基于领域设计专用语言。由于Groovy的超级灵活性,你可以使用Groovy快速编写基于领域的小语言,从而将编码量进一步减少,程序更容易维护。越少...
IDEA连接数据库生成带注解的实体类方法与定制Groovy生成脚本适用于springboot jpa中IDEA连接数据库生成带注解的实体类方法与定制Groovy生成脚本适用于springboot jpa中
赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:groovy:3.0.9; 标签...
MoliCode代码生成器:基于Java开发,包含635个文件,包括223个Java类文件、110个Vue组件文件、105个JavaScript文件、72个Groovy文件、22个XML配置文件、16个JPG图像文件、16个LESS样式文件、13个CSS样式文件、13个...
解压后在groovy-1.7.2\embeddable目录下有groovy-all.jar
idea-Database代码生成工具,groovy代码
数据库表 生成 JavaBeen
IDEA groovy生成实体解决乱码问题
groovy初学者可以参考,Groovy 的一个好处是,它的语法与 Java 语言的语法很相似。虽然 Groovy 的语法源于 Smalltalk 和 Ruby...Groovy 和 Java 语言的主要区别是:完成同样的任务所需的 Groovy 代码比 Java 代码更少。