TeamBlog——规范、高效的项目管理知识库
艺萨科技
千日千月
艺萨科技
千日千月
  • Guide
  • 数据库规范
    • 基础规范
    • 通用模型
  • Vue前端框架
    • Guide
    • 通用说明
    • Element-admin-web
    • Arco-Design-web
  • Java服务端框架
    • Guide
    • 通用说明
    • JPA的封装
    • jDaoMySQL的使用
    • jCoder代码生成
    • 应用配置文件
  • PHP服务端框架
    • Guide
    • schedule定时任务
    • 数据库表、字段的命名原则
    • 接口文档自动生成
    • 队列
    • 日志管理
    • 接口加密
    • 文件的处理
    • RBAC的权限控制(待补充)
    • 一些工具
    • 一些写法
    • env说明
    • 公共的方法
  • 通用能力
    • Guide
    • Web文件预览
    • 统计平台
    • KeyCloak
    • 综合工具平台
    • 内网穿透
    • IM能力
    • 安全扫描

框架结构建议

jCoder 适合于中小型项目,简简单单,单体应用

目录结构样式

我们推荐的目录结构如下

├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─isart
│  │  │          └─bgy
│  │  │              ├─config           //配置文件类,例如小程序的配置引用
│  │  │              ├─controller       //Controller
│  │  │              │  ├─admin         //管理后台接口,需要token校验,jCoder协助生成
│  │  │              │  ├─app           //应用接口,例如小程序、APP的接口
│  │  │              │  └─common        //通用接口,不需要token校验,在WebSecurity中配置
│  │  │              ├─dao              //jDaoMySQL生成的Entity和Repository
│  │  │              │  ├─entity
│  │  │              │  └─repository
│  │  │              ├─data             //一般是Do,即需要为Service封装的结构放在这里
│  │  │              │  ├─role
│  │  │              │  └─user
│  │  │              ├─enums            //枚举值管理,通用枚举放在enums下,其余根据表名分包
│  │  │              │  ├─role
│  │  │              │  └─user
│  │  │              │      └─card
│  │  │              ├─manager          //Manager
│  │  │              ├─model
│  │  │              │  ├─qo            //也就是Request,根据表名分包
│  │  │              │  └─vo            //也就是Response,根据表名分包
│  │  │              │      └─community
│  │  │              ├─security         //token校验和WebSecurity
│  │  │              ├─service          //Service
│  │  │              ├─swagger          //Swagger配置
│  │  │              └─utils            //工具类,获取当前用户的UserUtil在这里

生成 Qo

由于是管理后台,系统自动生成 8 个 Qo,分别是:

一看就懂不解释

BizCommunityCreateQo.java BizCommunityDeleteQo.java BizCommunityEditQo.java BizCommunityGetQo.java BizCommunityQueryQo.java BizCommunitySetSortQo.java BizCommunitySetStatusQo.java

生成 Controller

当前版本生成的 Controller 还不是很智能

我们的理解是:

  • Qo 应该一个接口一个,例如新建和编辑接口,虽然大部分情况下只有一点点区别,但是还是应该区别开,避免个性化的需求
  • Vo 还是应该要整合,因为 Vo 力求字段完备、不缺失,冗余一些字段无问题

目前生成的 Controller 需要手动处理一下:

  1. 改下接口描述,全文替换 xxx对象名xxx为接口名,例如园区管理,那么直接替换为园区,替换后 ApiFox 生成的接口自动识别的读取
  2. 要导入一大堆的 Entity、Vo、Qo,现阶段没有更好的办法,就这么操作吧

如果你想要使用当前用户信息,那么userUtil.curUser()就可以获取到,userUtil 已经引入了

Last Updated:: 7/23/22, 4:01 PM
Contributors: TerryQi