SpringBoot优化------------------异常处理、整合Lombok、整合Swagger2

一、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             查询所有学生

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值