介绍一个SpringBoot项目中用于校验参数空值与否的工具

CheckUtils-Spring-Boot-Starter

一个用于在SpringBoot项目中判断参数对象中属性空值与否的工具,摆脱手动if判断,简化你的代码!

本项目还在一个幼儿阶段,纯属于本人闲的没事开发出来的,本人目前大三,在对于Java反射机制和SpringAOP好奇心的驱使下想做出点有意思的东西,于是就有了这玩意。

由于本人经验有限,还请大佬们多多提提意见。

一、安装与配置

请前往GitHub下载jar包🤓
https://github.com/CeerDecy/checkutils-spring-boot-starter

本项目基于SpringAOP开发,所以开始之前请在你的Maven依赖中添加此依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-aop</artifactId>
</dependency>

SpringBoot出现以下日志信息则说明成功启动

INFO 77084 --- [main] c.c.checkutils.service.CheckAopService   : Check Service Starting

二、如何使用

1. 直接使用

CheckUtils类提供多种静态方法用以判断,既可以返回布尔类型,也可选择直接抛出异常。

2. 注解

@CheckBean
方式一:全属性判断

@CheckBean写在方法上方,若不带任何参数则会直接判断该方法中第一个参数(此处为 userBean)中所有属性值的空值与否。

@CheckBean
public void test(UserBean userBean){...}
方式二:自定义属性判断

@CheckBean写在方法上方,fields是一个String数组,它记录的是要判断的属性的名字。若带有fields则会判断该方法第一个参数中属性名为fields中记录过的属性名称的值。

@CheckBean(fields = {"username","email"})
public void test(UserBean userBean){...}
方式三:指定对象全属性判断

test方法中userBean的参数名称给到 @CheckBean注解的bean参数,会将判断userBean这个对象中所有属性的空值与否,但凡有一个属性值为空,则抛出异常。

@GetMapping("/t1")
@CheckBean(bean = "userBean")
public ModelAndView test(@RequestBody UserBean userBean){...}
方式四:指定对象自定义属性判断

在方式二的基础上给到第二个参数fieldsfields是一个String数组,它记录的是要判断的属性的名字。以下例子实现的是判断userBean对象中属性名为usernameemail的空值与否,但凡有一个属性值为空,则抛出异常。

@GetMapping("/t1")
@CheckBean(bean = "userBean",fields = {"username","email"})
public ModelAndView test(AccountBean accountBean, @RequestBody UserBean userBean){...}
方式五:多对象自定义属性判断

@CheckBean注解不给予bean属性,则注解从上至下第几个注解对应要判断的第几个参数对象。

@CheckBean
@CheckBean
public void test1(UserBean userBean,AccountBean accountBean){...}

此处test2()和上面的test1()效果一致

@CheckBean(bean = "userBean")
@CheckBean(bean = "accountBean")
public void test2(UserBean userBean,AccountBean accountBean){...}

甚至你可以倒过来写

@CheckBean(bean = "accountBean")
@CheckBean(bean = "userBean")
public void test(UserBean userBean,AccountBean accountBean){...}

但需要注意的是若其中一个不给bean值,则第几个注解就会对应地判断第几个参数对象,如下两个注解其实只是在判断同一个参数对象accountBean

@CheckBean(bean = "accountBean")
@CheckBean
public void test(UserBean userBean,AccountBean accountBean){...}

其他用法与上述方法一致,同样支持自定义属性名称的判断

@CheckBean(fields = {"username","age"})
@CheckBean(fields = {"accountId"})
public void test(UserBean userBean,AccountBean accountBean){...}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值