alibaba cola 框架代码生成器 框架代码怎么写

createh53周前 (12-19)技术教程22

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

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

代码结构

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

图中,

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是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下的,其他目录一样

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

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

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

配置star模块下的application.properties

## 生成器

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

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

打开生成器

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

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

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

添加一个foo Aggregate

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

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

进入start目录 mvn spring-boot:run

测试列表接口

新建

相关文章

Centos8搭建Java环境(JDK1.8+Nginx+Tomcat9+Redis+Mysql)

一、开篇1.1 目的每次换新的服务器,都要找资料配下环境,所以我写这篇文章,重新梳理了一下,方便了自己,希望也能给大家带来一些帮助。安装的软件有:JDK1.8 + Nginx + Tomcat9 +...

Java 20年,以后将往哪儿走? java两年

在今年的Java 20周年的庆祝大会中,JavaOne 2015 的中心议题是“Java 的20年”。甲骨文公司Java平台软件开发部的副总裁Georges Saab的主题演讲就将关注点放在了java...

50个常见 Java 错误以及如何避免它们

在开发 Java 软件时可能会遇到许多类型的错误,但大多数都是可以避免的。我们收集了 50 个最常见的 Java 软件错误,并附有代码示例和教程,可帮助您解决常见的编码问题。编译器错误当 Java 软...

JAVA工程师面试考试测试题(Java面试题HR必备)

面试题一、单项选择题(每小题2分,共20分)1:下列属于合法的Java标识符是( ) A _cat B 5books C +static D -3.141592:在读字符文件Employee.dat...

Java基础八股文背诵版 java背八股文就可以了吗

兄弟们求个赞,关注我,可以收到我整理的最新的IT大厂八股文更新背之前先来看看阿里巴巴的常问Java基础你们会几个?(该站点长期更新各大厂最新面试题,欢迎大家关注)八股文全集PDF打包下载:链接:htt...

Java面试宝典之问答系列 java 面试问题

以下内容,由兆隆IT云学院就业部根据多年成功就业服务经验提供:1. 写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT...