从头搭建一个SpringBoot项目,至少应该引入哪些配置?
前言
建立一个全新的项目 , 或者把旧的庞大的项目 , 进行拆分成多个项目 。 在建立新的项目中 , 经常需要做一些重复的工作 , 比如说拷贝一下常用的工具类 , 通用代码等等 。
所以就可以做一个基础的项目方便使用 , 在经历新项目的时候 , 直接在基础项目上进行简单配置就可以开发业务代码了 。
- Swagger在线接口文档 。
- CodeGenerator 代码生成器 。
- 统一返回 。
- 通用的分页对象 。
- 常用工具类 。
- 全局异常拦截 。
- 错误枚举 。
- 自定义异常 。
- 多环境配置文件 。
- Maven多环境配置 。
- 日志配置 。
- JenkinsFile 。
写接口文档通常是一件比较头疼的事情 , 然而swagger就用是用来帮我们解决这个问题的 。 可以在线生成接口文档 , 并且可以在页面上进行测试 。
【从头搭建一个SpringBoot项目,至少应该引入哪些配置?】
本文插图
可以非常清楚地显示 , 请求数据已经响应数据 。 当然这一切都需要在代码中进行配置 。
本文插图
注意的点:接口文档只能在测试/开发环境开启 , 其他环境请关闭 。
@RestController @Api(tags = "用户") @AllArgsConstructor @RequestMapping("/user") public class UserController { private IUserService userService; /** * 获取用户列表 * @param listUserForm 表单数据 * @return 用户列表 */ @ApiOperation("获取用户列表") @GetMapping("/listUser") @ApiResponses( @ApiResponse(code = 200, message = "操作成功", response = UserVo.class) ) public ResultVo listUser(@Validated ListUserForm listUserForm){ return ResultVoUtil.success(userService.listUser(listUserForm)); } }
@Data @ApiModel("获取用户列表需要的表单数据") @EqualsAndHashCode(callSuper = false) public class ListUserForm extends PageForm<ListUserForm> { /** * 用户状态 */ @ApiModelProperty("用户状态") @NotEmpty(message = "用户状态不能为空") @Range(min = -1 , max = 1 , message = "用户状态有误") private String status; }
mybatis_plus代码生成器可以帮我们生成entity,service,serviceImpl,mapper,mapper.xml 。 省去了建立一大堆实体类的麻烦 。由于配置太长这里就不贴出来了 , 对应的CodeGenerator的配置可以查看:
将所有的接口的响应数据的格式进行统一 。
@Data @ApiModel("固定返回格式") public class ResultVo { /** * 错误码 */ @ApiModelProperty("错误码") private Integer code; /** * 提示信息 */ @ApiModelProperty("提示信息") private String message; /** * 具体的内容 */ @ApiModelProperty("响应数据") private Object data; }
- 霍金|霍金留下三个预言,每一个都事关人类安危,第一个已经开始应验
- 三星|德媒:中国或许将成为下一个全球创新总部!
- 数字货币|你的“花呗”额度降了吗?“借呗”整改后下一个来了,有用户直接被停
- Windows|New Windows 11操作系统壁纸灵感来源,新的视角,一个新的时代
- 奥陌陌|奥陌陌:人类观察到的第一个外星文明迹象?留下了哪些未解之谜?
- 联想|拆解联想电脑,没有任何一个核心零部件是国产的,塑料壳和螺丝是国产的
- 物联网|物联网解决方案的前端开发
- 女娲|一个模型通杀8大视觉任务,一句话生成图像视频、P图视频处理都行
- UFO|詹姆斯韦伯遇到了一个小问题,全面测试导致发射延迟了几天
- 芯片|一个指令查电脑使用痕迹!动过什么文件,看得清清楚楚