# 开发规范说明

# 读者对象

  • 系统架构师
  • 项目开发人员

# 版本说明

版本 更新日期 备注
- 1.0.0-RELEASE 20200713 暂停更新
- 2.0.0-RELEASE 20200813 集群
- 2.1.0-RELEASE 20201210 集群
- 2.5.0-RELEASE 20210610 集群

# 开发环境

利用框架进行开发时的开发环境参考。

  • MySQL+JDK 1.8

# 包规范

  • 统一将项目建到com.jinke.ts.*....下

# 持久层

  • 持久层,框架提供三种支持方式, Mybatis、Hiberate、Ibatis。此处的规范主要针对 Mybatis,其它持久框架可做为参考实行。 Mybatis 的持久化分为两个主要部分:接口层、XML(实现层)。
  • 接口层 1.接口层的mapper 包路径建议分为 read ,write 两个文件夹,为读写分离升级做准备。其中 read 文件夹下的 mapper 文件只能出现查询接口,与其对应的 xml 中,只能出现 <select> 标签。write 文件夹下的 mapper 文件只能出现增删改接口,与其对应的xml中,只能出现 <insert>、<update> 、<delete> 标签。 2.由于Mybatis 的工作原理,每一个方法 mapper 对应的ID 由接口全路径+方法名实现,所以每一个mapper接口中的方法名不可重复,不存在重载一说。
  • XML

# 服务层

  • 服务层即Service层,该层主要负责所有的业务逻辑过程处理。

  • Service 层和 Mapper 层建议一样,建议包路径分别新建 read 和 write 两个包。其中read 包下只有读事务,write 下负责写事务。

  • 在Service 层,需要留意的内容如下:

@Service 注解必须搭配 @ TsTransactional 或者 @NoTransactional注解之一。 如果该类为读事务,则需要@ TsTransactional( readOnly = true )。 如果写事务,则直接使用 @ TsTransactional 即可。具体使用,请参阅《事务使用文档》。 该层的Mapper 层使用 @Resource 注入。

# 控制层

控制层,即现在的 RestService 层。该层主要负责参数接受和数据返回,一般不做逻辑处理。

  • 该层的注入对象主要为Service ,不能跨层注入Mapper。注入方式可采用 @Autowired 或 @Resource。

  • 在@RestService 注解的类中,方法上使用对应的注解使用@PostMapping 或者 @GetMapping。 不建议直接使用 @RequestMapping 。命名空间指明路径,方法上得注解尽量只留一个(复合)单词,方法上得路径尽量不要包含“/”

  • 数据返回尽量通过继承 BaseRestService 进行返回,框架做统一处理

# 包命名规范

  • 实体类Po放在entity包下(Po是与数据库的增删改打交道的对象)。

  • mapper包下建read和write两个包,分别放入读和写的Mapper接口类。

  • rest包下放RestService类。

  • service下新建read和wirte两个包,分别放读和写的Service接口类,实现类放在同级目录下的impl包中。

  • vo包下放Vo类(Vo类是与前台打交道以及查询打交道的对象)。

  • resources下mapper包下建read和write包,分别放入读和写的mapper配置文件。

# 类命名规范

  • 类名应采用大驼峰(大驼峰就是一般驼峰命名法的首字母大写)方式命名。

  • 类名要有实际的意义,尽量不使用单词缩写。

  • rest类以RestService结尾;只读service接口以ReadService结尾,实现类以ReadServiceImpl结尾,可写service接口以WriteService结尾,实现类以WriteServiceImpl结尾;只读mapper类以ReadMapper结尾,可写mapper类以WriteMapper结尾;po类以Po结尾;vo类以Vo结尾。

# 方法命名规范

  • 所有查询方法均以query开头,如果查询所有,则以queryAll+表名命名,例如:查询所有接入系统,则方法名为queryAllAccessSystem;如果是根据主键查询,则query+表名+By+主键名,例如要查询门户系统,则方法名为queryAccessSystemByAccessSystemId。

  • 所有更新方法均以update开头,批量更新以updateBatch开头。

  • 所有删除方法均以delete开头,批量删除以deleteBatch开头。

  • 所有新增方法均以add开头,批量新增以addBatch开头。

# 字段(变量或属性)命名规范

  • Vo,Po 的字段命名尽量和数据库字段对应,然后转小驼峰(平时所用驼峰命名法,即首字母小写,其它单词首字母大写)。增加代码逻辑和sql 可读性。
  • 临时变量命名采用小驼峰命名,且应有实际含义,而非 a, b 这类无实际含义变量名。

# 配置规范

所有配置,除系统启动加载必须配置,原则上所有配置都应当统一配置到nacos 配置中心

最后更新日期: 6/23/2021, 2:55:03 AM