当前位置:首页 » 编程语言 » java获取注解

java获取注解

发布时间: 2023-09-09 06:52:08

‘壹’ java反射机制 怎样获取到类上面的注解

//定义注解并指定java注解保留策略为运行时RUNTIME,运行时注入到JAVA字节码文件里
//这样才可以在运行时反射并获取它。
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@interfaceMyAnnotation{
Stringkey()default"";
intvalue()default0;
}

//使用注解
@MyAnnotation(key="key1",value=200)
classMyClass{}

//反射注解
publicstaticvoidmain(String[]args){
MyClassmyClass=newMyClass();
MyAnnotationannotation=myClass.getClass().getAnnotation(MyAnnotation.class);
System.out.println("key="+annotation.key()+" value="+annotation.value());
}

‘贰’ java获取当前类上的注解内容

@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
@Target({ElementType.FIELD,ElementType.METHOD})//定义注解的作用目标**作用范围字段、枚举的常量/方法
@Documented//说明该注解将被包含在javadoc中
public @interface FieldMeta {

/**
* 是否为序列号
* @return
*/
boolean id() default false;
/**
* 字段名称
* @return
*/
String name() default "";
/**
* 是否可编辑
* @return
*/
boolean editable() default true;
/**

‘叁’ java 获取所有带注解的类

既然是基于spring,可以这样:
ResourcePatternResolver rpr = new ();

Resource[] res = rpr.getResources("classpath*: **/*.class"); // classpath*:带*号会找jar中的class
然后根据resource取clas路径就行
String className = res[0].getURL().getPath();
className = className.split("(classes/)|(!/)")[1];
className = className.replace("/", ".").replace(".class", "");
Object obj = Class.forName(className);

话说我最近也在写一个这样的MVC。。要不咱两合伙? 我写的也是基于注解,不过要支持REST风格

‘肆’ 如何java中程序如何得到@Id这样的注释

java注解类public @Interface Id{}

import该类然后在方法,其他类,或者变量前就可以使用@Id注解了

热点内容
红米note扩展存储卡 发布:2025-08-20 21:27:10 浏览:861
验证你的电子邮件地址不能连接服务器 发布:2025-08-20 21:27:09 浏览:62
存储区是什么意思 发布:2025-08-20 21:26:31 浏览:52
压缩袋是什么 发布:2025-08-20 20:48:27 浏览:618
服务器减容会有什么影响 发布:2025-08-20 20:40:23 浏览:150
我的世界怎么联服务器 发布:2025-08-20 20:34:31 浏览:498
c语言编译或解释 发布:2025-08-20 20:27:17 浏览:601
vsm编程 发布:2025-08-20 20:16:31 浏览:913
脚本刷黑石塔 发布:2025-08-20 19:50:08 浏览:982
网上学编程可靠吗 发布:2025-08-20 19:45:13 浏览:650