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

Java反射和注解

@Retention(RetentionPolicy.RUNTIME) 表示注解保留在运行的时候有效
@Target(ElementType.TYPE) 表示注解作用对象是类,FIELD是字段,METHOD是方法........

反射知识点
Java反射

注解

类注解

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface TestAnnotation_Class{
String TableName();
}

Java

字段注解

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@interface TestAnnotation_Field{String type();String value();String dbTableName();
}

Java

测试注解(至少为了下方方便区别,也是类注解)

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface tests{String test();
}

Java

反射搭配注解的使用

比如有以下测试类剩余注解
 @tests(test="测试注解")
@TestAnnotation_Class(TableName="t_user")
class TestClass{@TestAnnotation_Field(type="id",value="1001",dbTableName="t_user")private String id;@TestAnnotation_Field(type="name",value="张三",dbTableName="t_user")private String name;@TestAnnotation_Field(type="age",value="18",dbTableName="t_user")private int age;}

Java

反射获取注解的信息
如注解在类

通过 Class class1=TestClass.class;获取类,然后根据这个类获取全部注解列表class1.getAnnotations();
public class T8 {public static void main(String[] args) {Class class1=TestClass.class;Annotation[] annotations=class1.getAnnotations();for(Annotation annotation:annotations){System.out.println(annotation);}}
}

Java

得到结果

2025-10-01T10:05:06.png

如果想要获取指定注解,那么如下

通过class1.getAnnotation(注解类对象);来获取

2025-10-01T10:06:49.png

 

2025-10-01T10:07:35.png

得到注解以后,强转获取里面的属性

2025-10-01T10:12:33.png

如注解在字段
 

2025-10-01T10:15:08.png


比如外卖要获取id的注解,并且获取注解的属性

先获取这个类对象,再通过类获取指定字段 Field field=class1.getDeclaredField("id");
,再通过字段获取注解 TestAnnotation_Field field1_an=field.getAnnotation(TestAnnotation_Field.class);
然后获取注解的属性如下

2025-10-01T10:18:13.png

http://www.dtcms.com/a/431481.html

相关文章:

  • 个人网站导航html源码哪家网站推广好
  • CentOS 7 网络连接问题
  • wordpress国内主题昆山网站优化建设
  • 宁波网站建设大概要多少钱宿州市做网站建设的公司
  • php快速建站工具网站建设策划书的心得
  • 机关公文写作网站公众号制作开发公司
  • ASM Bytecode Viewer 插件查看kotlin和java文件的字节码
  • 公司都是自己制作网站网站如何减少404跳转
  • 链表转置算法
  • 【linux】多线程
  • C语言之详解操作符
  • 2003 您的安全设置不允许网站使用安装网站建设中源码下载
  • 如何做自己的网站系统怎样制作一个app软件
  • 网站建设 要学多久产品推广渠道有哪些
  • 【Linux】进程控制(一) 进程创建、终止与等待概念与实战讲解
  • 【C++】——new和delete与malloc和free的区别
  • MD5的应用与实现
  • php做网站很快嘛竞价代运营厂家
  • 运维自动化之 Ansible 核心知识点总结
  • 高频基础面试题解析:字符串操作、数字运算、条件循环
  • 建设行业信息管理系统网站德阳网站制作
  • 笔记本安装Ubuntu 20.04其触摸板如何开启或关闭
  • 站长之家域名查询排行阿里云网站备案注销
  • 企业微网站建设网站开发版权归谁
  • 爬虫数据采集(实例分析1)
  • 大理旅游网站建设有口碑的做网站
  • 卓老师建站特色功能三门峡做网站
  • 网站建站维护运营湖北省建设工程网站
  • smss!SmpStartCsr函数分析之SmpLoadSubSystemsForMuSession3389远程桌面新进程csrss.exe的由来
  • 网络安全细则[特殊字符]