网站首页 > java教程 正文
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
测试列表接口
新建
- 上一篇: 「数据结构与算法」前缀和后缀差分
- 下一篇: 后端精选-Java问题排查工具清单
猜你喜欢
- 2025-01-09 一份超详细的Java问题排查工具单
- 2025-01-09 读取properties文件的6种方式,建议收藏!
- 2025-01-09 后端精选-Java问题排查工具清单
- 2025-01-09 「数据结构与算法」前缀和后缀差分
- 2025-01-09 java学习笔记,一个学霸朋友的超详细java笔记
- 2025-01-09 OFD文件用哪些软件可以打开预览?
- 2025-01-09 Java 序列化
- 2025-01-09 java项目相关知识点整理
- 2025-01-09 Java问题排查工具单
- 2025-01-09 java实现zip文件的解压
你 发表评论:
欢迎- 04-24Java Collections 工具类集合框架中常用算法解析
- 04-24桶排序的简单理解
- 04-24Java集合框架底层实现原理大揭秘
- 04-24Java 集合框架全面解析:选对数据结构,提升开发效率
- 04-24c#集合排序
- 04-24Java面试中常被问到的集合类深度解读
- 04-24VBA技术资料MF278:对集合进行排序
- 04-24Spring 最常用的 7 大类注解,史上最强整理
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)