整体框架:SpringBoot 2.2.1.RELEASE
数据库访问层:MybatisPlus 3.3.1
order-system为项目父模块,其下有三个子模块:model、service、utils。
- model:各种实体类(一般用于和数据库打交道),vo类(一般用于和前端交换数据),通用的数据传输类。
- service:提供服务的接口。
- utils:自己写的工具类
子模块引用关系:service依赖model和utils模块,model依赖utils模块
作为最重要的子模块,有必要单独说明
service模块包名:cn.edu.bistu
-
子模块:service的各个子模块单独占用一个包名,比如权限验证模块auth,工单模块workOrder,微信接口模块weixin。标准的子模块包结构:rest(rest风格的controller接口),mapper(数据库访问类),service(主要的服务类)。
-
common:service模块公共的类:拦截器,配置类,独有工具类。
-
资源目录resources:Springboot配置文件、自定义的properties配置文件、Mybatis-mapper.xml配置文件。
- 类、方法和成员属性注释使用以下风格:
/**
* 用户登录
* @param code properties info
* @return return info
*/
- 行内注释使用以下风格:
//
值得一提的是,为了代码可读,最好说明所有类的职责,所有方法的输入产出或作用,以及自定义抛出的异常(如果方法实现某个接口,那么方法注释应该标注在接口类中),所有成员属性的含义。行内注释最好标明业务逻辑。
-
所有接口使用POST,方便利用HTTP传递json数据,使用@RequestBody接收HTTP消息中的json数据。
-
使用rest风格的路径(多用名词少用动词,比如能用/employees就不用/getAllEmployees)。
规定必要性:数据传输类太多太杂,后端层次又多,约定好数据传输类能提高数据传输有效性。
保证model模块下entity包中的所有类都是用来与数据库打交道的(即dao对象的方法应该由entity包中的类传入数据),尽量使用vo包下的类与前端打交道(即使用vo类返回数据,无论是从数据库返回数据还是将数据从后端返回到前端,接收前端的数据也可使用vo)。
保证controller接口返回的数据类型统一是cn.edu.bistu.model.common.Result
类,将数据库中的数据封装到Result类中返回前端。