快捷搜索:  汽车  科技

阿里的cola框架好用吗(alibabacola框架代码生成器)

阿里的cola框架好用吗(alibabacola框架代码生成器)3:标紫的文件为固定文件名,标蓝的文件可能需要合并一下目的使其所在文件夹下的文件减少(比如,要定义一个叫做Order的Aggregate,各叶子节点最终对应的文件为OrderDomainService.java OrderGateWay.java OrderCmd.java OrderQry.java OrderApiController.java)图中,1:domain---xxx领域名分组---model下的叶子节点为文件夹2:标绿的各叶子节点都表示具体的Java文件后缀名,此文件的其余部分根据Domain中具体的Aggregate名填充

alibaba cola 框架代码生成器下载地址

https://pan.baidu.com/s/1coHs6f_1LqGFgutr6K6_Wg 验证码 rvgr

代码结构

项目中准备用 cola框架(https://github.com/alibaba/COLA) 开发应用 [脚手架](https://start.aliyun.com/bootstrap.html),根据自己的理解,定义了如下的代码结构:

阿里的cola框架好用吗(alibabacola框架代码生成器)(1)

图中,

1:domain---xxx领域名分组---model下的叶子节点为文件夹

2:标绿的各叶子节点都表示具体的Java文件后缀名,此文件的其余部分根据Domain中具体的Aggregate名填充

(比如,要定义一个叫做Order的Aggregate,各叶子节点最终对应的文件为OrderDomainService.java OrderGateWay.java OrderCmd.java OrderQry.java OrderApiController.java)

3:标紫的文件为固定文件名,标蓝的文件可能需要合并一下目的使其所在文件夹下的文件减少

(比如,定义Order后又定义了一个叫User的Aggregate,可以把OrderApiController.java和UserApiController.java的内容合并,最终根据业务来)

4: 第一条model下包含的文件夹("aggregates" "entities" "valueobjects")中的Java文件名不做约束

5:非叶子节点,都为文件夹,名称固定

6:xxx领域名分组 也是文件夹,名称同具体的Aggregate

可见当我们定义一个Domain的Aggregate或者Entity时,要创建的相关类以及各个层级之间的关系调用还是挺多的,于是有了做一个代码生成器的想法。

代码生成器的约定:对于一个Entity我们只定义Id和name两个属性,重要的是生成正确的包定义(package)和相关的类引用(import)。

准备工作

用cola定义一个测试项目 可以在[阿里站点](https://start.aliyun.com/bootstrap.html)生成

阿里的cola框架好用吗(alibabacola框架代码生成器)(2)

也可以通过本地

也可以在本地用脚手架 我采用的cola是4.1.0版本

mvn archetype:generate -DgroupId=com.test -DartifactId=myApp -Dversion=1.0.0-SNAPSHOT -Dpackage=com.test.myApp -DarchetypeArtifactId=cola-framework-archetype-web -DarchetypeGroupId=com.alibaba.cola -DarchetypeVersion=4.1.0

结构生成以后,除了start模块下,将其余各模块的myApp目录下的示例代码文件全部删除,比如app和client下的,其他目录一样

示例代码可以保留,但是代码生成器自动编译代码,会报错。不删除的话请手动调整。

阿里的cola框架好用吗(alibabacola框架代码生成器)(3)

阿里的cola框架好用吗(alibabacola框架代码生成器)(4)

为了演示,我这里在Infastructure模块中添加一个Oracle驱动,根据实际情况来

阿里的cola框架好用吗(alibabacola框架代码生成器)(5)

mybatis-config中也删除默认的配置

阿里的cola框架好用吗(alibabacola框架代码生成器)(6)

配置star模块下的application.properties

阿里的cola框架好用吗(alibabacola框架代码生成器)(7)

## 生成器

开发框架采用了Pyqt5 使用了qdarkstyle和qtawesome库,集成了notepad2进行代码的查看

进入tool文件下,修改install.bat 配置一下Java目录

阿里的cola框架好用吗(alibabacola框架代码生成器)(8)

打开生成器

阿里的cola框架好用吗(alibabacola框架代码生成器)(9)

阿里的cola框架好用吗(alibabacola框架代码生成器)(10)

选择项目根目录(不要进入子目录)

阿里的cola框架好用吗(alibabacola框架代码生成器)(11)

生成器会将现有的代码罗列出来,注意:标记1 2 3的路径合并起来,才是各个Java文件的具体地址。

阿里的cola框架好用吗(alibabacola框架代码生成器)(12)

删除myapp文件下的代码文件后,各列表会是空的,但模块的路径显示

阿里的cola框架好用吗(alibabacola框架代码生成器)(13)

添加一个foo Aggregate

阿里的cola框架好用吗(alibabacola框架代码生成器)(14)

可见创建了20多个文件并自动编译,编译成功后弹窗消失

修改mapper文件对应到真实的表

阿里的cola框架好用吗(alibabacola框架代码生成器)(15)

进入start目录 mvn spring-boot:run

测试列表接口

阿里的cola框架好用吗(alibabacola框架代码生成器)(16)

新建

阿里的cola框架好用吗(alibabacola框架代码生成器)(17)

猜您喜欢: