前言
日常工作中的一些重复性很高的代码我们一般都采用生成的方式,比如mybaits提供的插件式的代码生成,还有类似一些管理系统拖拽式的代码生成。还有一些是基于第三方jar包实现的模板式的代码生成,这些都很方便使用,但是也有一些不足之处,比如有些代码是在程序运行时根据当前已有的一些类然后在运行时生成的代码,那么使用那些模板方法显然不适合了。今天介绍一种我想到的一种代码生成方案。
实现思路
首先思考一段代码可以拆分为哪几个单元(这里的单元指的是构成代码的组件):
1、class类,class类是构成java的核心,所有的东西都是建立在类中的
2、常量,常量是构成类的一部分
3、方法,方法和常量构成了类。
如果再细分,常量和方法都由权限修饰符 + 返回值类型 + 名称构成, 类由权限修饰符 + class关键字 + 类名构成,那么以上都可以理解为是代码描述。
有了上面的这些内容,那么大体就有了如下几个基础类了
1、抽象一个代码生成类,代码生成类,抽象类中提供基本功能:
①、定义默认包路径
②、定义代码生成后存放的文件夹
③、提供抽象代码生成类。
2、定义代码描述接口
3、定义抽象代码描述类,抽象类中提供如下基础功能:
①、定义样式规范(符合阿里巴巴编程规范)
②、定义代码注释,并使用占位符对核心信息进行占位,比如类描述和作者等信息。
③、提供权限修饰符set方法
④、提供内容set方法
有了以上三个核心类,那么接下来就可以做具体的事情了
1、创建Class描述类继承抽象代码描述类
2、创建Method方法描述类继承抽象代码描述类
3、创建常量描述类也继承抽象代码描述类
这样构成一个java代码基本的单元信息就都有了。
之后等有空就按照这个来写个工具吧,感觉行得通
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第18天,点击查看活动详情