一、SpringBoot全局异常处理
任何项目发生异常是不可避免的,使用全局异常捕获发生的异常是十分必要的。SpringBoot框架对全局异常捕 获提供了很好的支持,并且操作非常简单。我们只需要创建一个类和一个方法,并添加两个注解:@ ControllerAdvice和@ExceptionHandler即可;
- @ControllerAdvice:该注解是spring2.3以后新增的一个注解,主要是用来为Controller的一些公共需 求的低侵入性增强提供辅助,作用于@RequestMapping标注的方法上。
- @ExceptionHandler::该注解是配合@ControllerAdvice一起使用的注解,可以自定义错误处理器,自行 组装json字符串,并返回到页面。
🦄注意:如果想实现不同的异常有不同的操作的话,只需要将@ExceptionHandler的value的值不一样就可 以了,可以同时实现多个不同的异常处理,但不能出现包含状态。 由此可见,全局异常捕获的原理是: 使用AOP技术,采用异常通知的方式处理。
二、SpringBoot异步执行
异步执行步骤
SpringBoot框架对异步处理提供了很好的支持,我们只需要以下两步就可以完成操作。
- 第一步:给需要异步执行的方法加上@Async注解
- 第二步:在启动类或者配置类加上@EnableAsync注解 (启动异步执行)
三 、lombok 的使用
lombok的作用:可以通过简单注解来实现精简代码,达到消除冗长代码的目的,主要用于实体类上。它的优 点是:
- 提高编码效率
- 使代码更简洁
- 消除冗长代码
- 避免修改字段名时忘记修改方法名
- 提高逼格
- lombok默认提供了对Log4J和logback日志工具的支持。
1、STS 安装 lombok 插件
STS工具集成lombok插件的实现步骤如下:
1 ) 下载lombok.jar(https://projectlombok.org/download.html)
2) 关闭STS开发工具 3) 将lombok.jar放在STS(或eclipse)安装目录下,和sts.ini文件是平级的。如下图所示:
4) 运行lombok.jar。
在lombok.jar的目录下,运行如下命令: java -jar lombok.jar ,运行后弹出下图。
点击左侧Specifylocation按钮,找到STS安装目录下的STS.exe程序选中打开(或等待搜索出),勾选后,点 击按钮Instal/Update;
5) 之后关闭窗口并重新打开STS即可。
💥 注意:STS 的安装目录不能含有中文,否则安装完 lombok 后将无法打开
2、在 pom.xml 引入 lombok 依赖
org.projectlombok
lombok
true
1.16.12
3、lombok 的常用注解
lombok提供了一系列的注解,作用在实体类类名上,常用注解及含义如下表所示
👉🏻总结lombok的优缺点如下
优 点:
- 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的 开发效率;
- 让代码变得简洁,不用过多的去关注相应的方法;
- 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等。
缺点:
- 不支持多种参数构造器的重载;
- 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源 代码的舒适度
四、SpringBoot 与 swagger2 的集成
SpringBoot 集成 Swagger2 的步骤
(1)、添加依赖
首先需要在pom.xml文件中添加Swagger2的依赖:
io.springfox
springfox-swagger2
2.6.1
控制器类中使用 swagger 注解
1)、常用注解
🍄@Api : 修 饰 整 个 类 , 描 述 Controller的 作 用
🍄 @ApiOperation : 描 述 一 个 类 的 一 个 方 法 , 或 者 说 一 个 接 口
🍄 @ApiParam : 单 个 参 数 描 述
🍄 @ApiModel : 用 对 象 来 接 收 参 数
🍄 @ApiProperty : 用 对 象 接 收 参 数 时 , 描 述 对 象 的 一 个 字 段
🍄 @ApiResponse : HTTP 响 应 其 中 1 个 描 述
🍄 @ApiResponses : HTTP 响 应 整 体 描 述
🍄@ApiIgnore : 使 用 该 注 解 忽 略 这 个 API
🍄@ApiError : 发 生 错 误 返 回 的 信 息
🍄@ApiImplicitParam : 一 个 请 求 参 数
🍄@ApiImplicitParams : 多 个 请 求 参 数
编写 Swagger 配置类 Swagger2,扫描 SpringMVC 控制器
在配置类中指定将要扫描的springmvc控制器的包,代码如下:
、SpringBoot 启动类上开启 Swagger2
最后需要在启动类上,加上注解@EnableSwagger2来开启Swagger,代码如下: