新拉取项目
make init
生成API相关文件
make api
make run 项目启动
使用步骤
- 添加 Proto 文件
通过 proto 文件,可以直接生成对应的 Service 实现代码:
使用
-t
指定生成目录什么是 PO
PO(Persistence Object 持久化对象) 是直接跟持久层数据库打交道的 java Bean (model,entity,bean 等叫法都是可以的),里面除了私有的成员变量之外,就只有其对应的 set/get 方法,而且其变量一般跟数据库表中的列几乎 (除了名字) 一样。
什么是 VO
VO(Value Object 值对象) 除了可以跟 PO 完全一样的变量,set/get 方法之外,还可以有其他的变量,但是不用其跟数据库打交道,可以把该对象当做无状态的对象。
使用 VO 注意的问题
使用 VO 之后要注意其活动范围要控制在 service 层、controller 层、展现层中,而不要进入 dao 层甚至是数据库(一般也不可能影响到数据库),同样的 PO 也只能出现在 dao 层和数据库 (数据库直接和 PO 交互),而不能够出现在 service 层、controller 层、展现层中。所以,PO 和 VO 都会出现在 service 层,而且也会在 service 中进行适当转换。
ㅤ | assembly | assembly/factory | factory |
结构 | DTO | Do(entity+vo) | PO |
api | ✔️ | ㅤ | ㅤ |
service | ✔️ | ✔️ | ㅤ |
domain | ㅤ | ✔️ | ✔️ |
repo | ㅤ | ㅤ | ✔️ |
assembly DO < = > DTO
factory DO < = > PO