重磅干货,第一时间送达
前言
建立一个全新的项目,或者把旧的庞大的项目,进行拆分成多个项目。在建立新的项目中,经常需要做一些重复的工作,比如说拷贝一下常用的工具类,通用代码等等。所以就可以做一个基础的项目方便使用,在经历新项目的时候,直接在基础项目上进行简单配置就可以开发业务代码了。
基础项目该包含哪些东西。
Swagger在线接口文档。
CodeGenerator 代码生成器。
统一返回。
通用的分页对象。
常用工具类。
全局异常拦截。
错误枚举。
自定义异常。
多环境配置文件。
Maven多环境配置。
日志配置。
JenkinsFile。
Swagger
写接口文档通常是一件比较头疼的事情,然而swagger就用是用来帮我们解决这个问题的。可以在线生成接口文档,并且可以在页面上进行测试。
可以非常清楚的显示,请求数据已经响应数据。当然这一切都需要在代码中进行配置。
注意的点:接口文档只能在测试/开发环境开启,其他环境请关闭。
常用的Swagger注解
案例
对应的swagger的配置可以查看基础项目内的.
CodeGenerator代码生成器。
mybatis_plus代码生成器可以帮我们生成
,,,,。省去了建立一大堆实体类的麻烦。
由于配置太长这里就不贴出来了,对应的CodeGenerator的配置可以查看基础项目内的.
常用的封装
统一返回 ResultVo
将所有的接口的响应数据的格式进行统一。
抽象表单 BaseForm
有小伙伴可能有疑问了,这个类有啥用呢。先看一下,下面的代码。
重构一下,感觉清爽了一些。
使用BaseForm进行重构 AddUserForm 继承 BaseForm并重写buildEntity
@Data
@EqualsAndHashCode(callSuper =false)
public class AddUserFormextends BaseForm {
private String nickname;
private Date birthday;
private String username;
private String password;
@Override
public User buildEntity() {
User user =new User();
BeanUtils.copyProperties(this,user);
return user;
}
}
@Override
public boolean addUser(AddUserForm userForm) {
return save(userForm.buildEntity());
}
上面的代码有没有种似曾相识的感觉,很多情况都是将接受到的参数,转变成对应的实体类然后保存或者更新。所以对于这类的可以继承并实现这样可以更加符合面向对象,不需要关心如何转变成,只需要在使用的时候调用即可,尤其是在->相对复杂的时候,这样做可以减少内的代码。让代码逻辑看起来更加清晰。
通用的分页对象
涉及到查询的时候,绝大多数都需要用到分页,所以说封装分页对象就很有必要。可以注意下、、这个几个方法。
PageForm
领取专属 10元无门槛券
私享最新 技术干货