一、SpringBoot全局异常优化
1.java的常见异常
1、Throwable异常和错误的顶级父类
1)子类1Exception:代码异常
1^发生异常的原因
1>编码错误
1-空指针
2-数据下边越界
3-算数异常
2>输入的内容不合法
3>文件读取不存在
2^运行时异常和编译时异常
3^常见的运行时异常
4^异常处理方式
1>捕捉 try-catch
2>抛出 throws
2)子类2Error错误:系统错误
2.SpringBoot异常处理的方式
1、try-catch
2、throws
3、缺点
1)编写麻烦
2)代码阅读性低
3)耦合性太高,改写麻烦
3.SpringBoot全局异常优化流程
1、AOP 降低耦合性
2、创建全局变量异常处理类
1)ControllerAdvice
1>Spring3.2版本提出,Controller的增强器,可以进行AOP具体实现,可以实现低耦合抵侵入的对Controller注解的控制器进行逻辑处理
2>常用于异常全局处理
2)@RextControllerAdvice @ControllerAdvice+@ResponseBody
3)捕捉异常方法注解
1>@ExceptionHandlerBody
2>注意:需要使用@Response
3、先精准捕捉、然后逐渐扩大范围、跟方法顺序没有关系
4、线数据捕捉、然后运行时、最后Exception
标注@ControllerAdvice的类可以对整个项目所有@Controller的类进行增强进行异常处理
通过在方法上标注@ExceptionHandler对控制器出现的异常进行捕捉
写法:
1、类@ControllerAdvice 方法上@ExceptionHandler+@ResponseBody
2、类@ControllerAdvice+@ResponseBody 方法上@ExceptionHandler
3、@RestControllerAdvice 方法上@ExceptionHandler
二、SpringBoot异步执行
1.同步异步区别
1、同步:必须等待上一个任务执行完毕才可以进行下一个任务
2、异步:无需等待上一个任务,可以直接开始下一个任务
代码里面的同步和异步
1)假如代码执行顺序是A、B、C
2)同步A、B、C依次执行
3)不需要再A结束后执行下一个
2.SpringBoot同步实现
3.SpringBoot异步实现
三、SpringBoot整合Lombok
1.什么是Lombok
1、可以通过简单注解来实现精简代码,打到冗长代码的目的,主要用于实体类上
2、实体类的代码精简
3、约定大于配置
2.Lombok的优缺点
1、优点
1)能够通过注解的形式,提高效率
2)代码简洁
3)简化维护成本
2、缺点
1)可阅读性低
2)不能完全实现所需
3.sts整合Lombok插件
1、下载网址
2、放到sts的目录中
3、运行jar文件
4、安装插件
5、重启sts
4.实体类使用Lombok流程
5.解决get、set、toString没有技术还影响美观
6.常用注解
1、@NoArgsConstructor//无参构造
2、@AllArgsConstructor//全参构造
3、@Getter
1)//放在类上表示当前类的所有属性创建get方法
2)放在属性上是单独设置
4、@Setter
1)//放在类上表示当前类的所有属性创建set方法
2)放在属性上是单独设置
5、@ToString//toString方法
6、@EqualsAndHashCode//hashCode和equals方法
7、@Date//包含有@Getter@Setter@ToString@EqualsAndHashCode 不包含无参和有参
8、@Value弱版的@Date
四、SpringBoot整合Swagger2
1.手动编码文档 缺点
1、文档需要更新不及时
2、接口返回结果不明确
3、测试接口麻烦 工具POSTMAN
4、接口文档太多不好管理
2.什么是swagger
1、swagger2的出现就是为了从根本上解决文档编写问题。它作为一个规范的完整框架,可以用于生成、描述和可视化RESful风格的web文档服务
2、在线菜狗清单
3、在线Api文档
3.swagger的好处
1、接口文档在线自动生成,文档随接口变动实时更新,节省维护成本
2、支持在线接口测试,不依赖第三方工具
4.SpringBoot整合Swagger流程
1、导入依赖
2、编写Swagger配置文件
3、编写Controller控制器
4、添加Swagger注解
5、查看在线API文档
5.常用注解
1、@API
2、@ApiOperation
3、@ApiParam
4、@ApiModel
5、@ApiModel
6.了解RestFul风格
传统方式
localhost:8080/getStuden 查询全部
localhost:8080/addStudent
localhost:8080/updateStudentById
localhost:8080/deleteStudentById
新式风格
URL都是一个资源
目的是获取指定地址的资源
简化访问路径API编辑
使用HTTP的状态来描述访问动作
增 删 改 查
POST DELETE PUT GET
访问API 请求方式
localhost:8080/student GET 查询所有学生
localhost:8080/student POST 新增学生信息
localhost:8080/student PUT 修改学生信息
localhost:8080/student/{id} DLETE 删除学生信息
传统的
localhost:8080/student/getAll get方式请求
restful风格
localhost:8080/students GET 查询所有学生
SpringBoot优化------------------异常处理、整合Lombok、整合Swagger2
最新推荐文章于 2023-09-16 15:52:58 发布