SpringBoot优化

本文详细介绍了SpringBoot的全局异常处理,包括@ControllerAdvice和@ExceptionHandler的使用,以及异步执行的配置步骤。此外,还探讨了Lombok在减少冗余代码中的应用,以及如何在STS中安装和使用Lombok。最后,讲解了SpringBoot集成Swagger2的流程,包括常用的Swagger注解和配置类的编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SpringBoot全局异常处理

任何项目发生异常是不可避免的,使用全局异常捕获发生的异常是十分必要的。SpringBoot框架对全局异常捕 获提供了很好的支持,并且操作非常简单。我们只需要创建一个类和一个方法,并添加两个注解:@ ControllerAdvice和@ExceptionHandler即可;

  • @ControllerAdvice:该注解是spring2.3以后新增的一个注解,主要是用来为Controller的一些公共需 求的低侵入性增强提供辅助,作用于@RequestMapping标注的方法上。
  • @ExceptionHandler::该注解是配合@ControllerAdvice一起使用的注解,可以自定义错误处理器,自行 组装json字符串,并返回到页面。

🦄注意:如果想实现不同的异常有不同的操作的话,只需要将@ExceptionHandler的value的值不一样就可 以了,可以同时实现多个不同的异常处理,但不能出现包含状态。 由此可见,全局异常捕获的原理是: 使用AOP技术,采用异常通知的方式处理。

二、SpringBoot异步执行

异步执行步骤
SpringBoot框架对异步处理提供了很好的支持,我们只需要以下两步就可以完成操作。

  1. 第一步:给需要异步执行的方法加上@Async注解
  2. 第二步:在启动类或者配置类加上@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

io.springfox springfox-swagger-ui 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,代码如下:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值