自定义注解实现字段有条件的判空

本文通过一个示例介绍了如何使用Java自定义注解实现字段的有条件判空。具体步骤包括创建注解类、定义Student类并使用注解、编写解释注解的工具类ConditionalNotEmptyExplain,并通过测试展示不同情况下的判空效果。

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

标签: java 自定义注解 判空


背景

自定义注解实现字段有条件的判空,例如Student有三个字段name、age、sex;name、age不能为空,sex只有当age=18时不能为空(可能例子不是很符合实际场景,只为实现说明)

代码实现

1、新建自动以注解类

基本元注解含义请自行学习@Target、@Retention、@Documented、@Inherited。本例@ConditionalNotEmpty注解有三个参数message、conditionFiledName、contionString,含义分别为错误提示信息、判断依据的字段名称、判断条件(如本例中如果age=18,则sex不能为空)。可以自行设置参数默认值,如果参数没有默认值则在使用注解时必须要明确传递参数值
package com.atguigu.springcloud.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ConditionalNotEmpty {

    //错误提示信息
    String message();

    //判断依据的字段名称
    String conditionFiledName() default "";

    //判断条件,如本例中 18
    String contionStri
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值