当前位置: 首页 > web >正文

Java开发 自定义注解(更新中)

问题:若设置了一个自定义注解,如何获取自定义注解的值

1.建立一个自定义注解类 MyAnnotation

package com.test.springboot_test.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target({ElementType.FIELD, ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {/*** 在这个例子中: @Target注解指定了MyAnnotation可以应用的目标,* 这里可以应用于方法(ElementType.METHOD)和类(ElementType.TYPE)* 类的字段上ElementType.FIELD 表示注解可以应用于类的字段(属性)上。。* @Retention注解指定了注解的保留策略,这里是RetentionPolicy.RUNTIME,* 意味着注解在运行时也可以被获取到。 定义了一个名为value的元素,它是一个字符串类型,并且有一个默认值为空字符串。* @return*/String value() default "";
}

2.在实体类上面使用该注解

package com.test.springboot_test.domain;import com.baomidou.mybatisplus.annotation.*;
import com.test.springboot_test.annotation.MyAnnotation;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("employee")
public class Employee {//姓名@NotNull@MyAnnotation("这是一个自定义注解的测试")private String name;
}

3.我们在测试类上面获取自定义注解的值

  /*** 2025-5-6* 如何通过反射获取自定义注解定义的值*/@Testvoid testAnnotation() throws NoSuchFieldException {Class<Employee> employeeClass = Employee.class;Field field = employeeClass.getDeclaredField("name");MyAnnotation annotation = field.getAnnotation(MyAnnotation.class);System.out.println(annotation);System.out.println(field.getName());//获取字段名System.out.println(field.getType());//获取字段的类型System.out.println(field.getAnnotation(MyAnnotation.class));System.out.println(annotation.value());//获取自定义注解的内容}
http://www.xdnf.cn/news/4295.html

相关文章:

  • MySQL 常用函数分类
  • 编程日志4.25
  • 十分钟了解 @MapperScan
  • 盛元广通动物表型分析数字管理平台
  • framebuffer框架与示例
  • 保障企业的数据安全需要做什么?
  • npm下载插件无法更新package.json和package-lock.json文件的解决办法
  • 脑机接口:从科幻到现实,它将如何改变医疗未来?
  • 岳冉RFID手持式读写器专业研发+模块定制双驱动
  • Dynadot专业版邮箱工具指南(一):创建并设置新邮箱
  • 使用 Python 监控系统资源
  • 高等数学第五章---定积分(§5.1定积分的概念、性质和应用)
  • ShardingJdbc-水平分库
  • tinyrenderer笔记(Phong光照模型)
  • 悬崖边的摄影牧歌
  • ModuleNotFoundError 错误
  • [前端]Javascript获取元素宽度
  • Blink和V8的关系
  • Ubuntu 系统详解
  • 0基础学习鸿蒙开发-HarmonyOS4
  • 购物|电商购物小程序|基于微信小程序的购物系统设计与实现(源码+数据库+文档)
  • 我用cursor 搭建了临时邮箱服务-Temp Mail 365
  • python实战:通过输入文字匹配在docx文档中的具体位置
  • Linux进程8-共享内存概念机操作、shmget/shmat/shmdt/shmctl函数用法、空间大小修改
  • 【LLIE专题】基于 CLIP 的无监督背光增强算法
  • 【HarmonyOS 5】鸿蒙用户头像编辑功能实践
  • HA: Natraj靶场渗透测试
  • 2024 ICPC武汉邀请赛暨湖北省赛 题解
  • Vue 自定义指令输入校验过滤
  • AI Agent开发第57课-AI用在销售归因分析场景中-用随机森林从0构建自己的“小模型”