導航:首頁 > 編程語言 > java獲取類的註解

java獲取類的註解

發布時間:2022-04-17 10:16:35

java 獲取調用此方法的方法的註解

importjava.lang.annotation.Retention;
importjava.lang.annotation.RetentionPolicy;


@Retention(value=RetentionPolicy.RUNTIME)
public@interfaceMyAnnotation{
Stringname();

}

publicclassAnnonTestA{

publicvoidmethodA(){

}

@MyAnnotation(name="111")
publicvoidmethodA(Stringa)throwsException{
AnnonTestB.methodB("methodA",String.class);
}
}
importjava.lang.annotation.Annotation;
importjava.lang.reflect.Method;

publicclassAnnonTestB{

publicstaticvoidmethodB(StringmethodName,Class<?>...parameterTypes)throwsException{
AnnonTestAannonTestA=newAnnonTestA();
//獲取AnnotationTest2的Class實例
Class<AnnonTestA>c=AnnonTestA.class;
//獲取需要處理的方法Method實例
Methodmethod=c.getMethod(methodName,parameterTypes);
Method[]methods=c.getMethods();
//判斷該方法是否包含MyAnnotation註解
if(method.isAnnotationPresent(MyAnnotation.class)){
//獲取該方法的MyAnnotation註解實例
MyAnnotationmyAnnotation=method
.getAnnotation(MyAnnotation.class);
//執行該方法
// method.invoke(annonTestA,"12345");
//獲取myAnnotation
Stringvalue1=myAnnotation.name();
System.out.println(value1);
}
//獲取方法上的所有註解
Annotation[]annotations=method.getAnnotations();
for(Annotationannotation:annotations){
System.out.println(annotation);
}
}
}
importjava.io.*;
importjava.lang.annotation.Annotation;
importjava.lang.reflect.Method;

publicclassTestString{
publicstaticvoidmain(String[]args)throwsException{
AnnonTestAannonTestA=newAnnonTestA();
annonTestA.methodA("123");
}
}

代碼都給上了,不明白再追問吧。

參考地址:http://blog.csdn.net/bao19901210/article/details/17201173

Ⅱ 各位大神,求救!!!java 如何獲取該類上欄位的註解,看圖片

我知道
1.先獲取這個類的class
Class<?> objclass=t.getClass();

2. 獲取這個類的欄位屬性
Field[] at = objclass.getDeclaredFields();

3.遍歷所有欄位
for (Field fd : at) {
//比如獲取這個欄位上是否包含NotNull
if (fd.isAnnotationPresent(NotNull.class)) {
//這樣就獲取到這個註解屬性了
NotNull d = fd.getAnnotation(NotNull.class);
}
}
4.要獲取一個註解,你要先獲取他所在的欄位
希望對你有幫助!

Ⅲ 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的值選為Runtime Java代碼importjava.lang.annotation.Annotation;importjava.lang.reflect.Method;//讀取註解信息{publicstaticvoidmain(String[]args)throwsException{//測試AnnotationTest類,得到此類的類對象Classc=Class.forName(com.iwtxokhtd.annotation.AnnotationTest);//獲取該類所有聲明的方法Method[]methods=c.getDeclaredMethods();//聲明註解集合Annotation[]annotations;//遍歷所有的方法得到各方法上面的註解信息for(Methodmethod:methods){//獲取每個方法上面所聲明的所有註解信息annotations=method.getDeclaredAnnotations();//再遍歷所有的註解,列印其基本信息System.out.println(method.getName());for(Annotationan:annotations){System.out.println(方法名為:+method.getName()+其上面的註解為:+an.annotationType().getSimpleName());Method[]meths=an.annotationType().getDeclaredMethods();//遍歷每個註解的所有變數for(Methodmeth:meths){System.out.println(註解的變數名為:+meth.getName());}}}}}

Ⅳ 如何獲取java代碼中的注釋

以前itjob老師講過,使用eclipse生成文檔(javadoc)主要有三種方法:
1,在項目列表中按右鍵,選擇Export(導出),然後在Export(導出)對話框中選擇java下的javadoc,提交到下一步。
在Javadoc Generation對話框中有兩個地方要注意的:
javadoc command:應該選擇jdk的bin/javadoc.exe
destination:為生成文檔的保存路徑,可自由選擇。
按finish(完成)提交即可開始生成文檔。
2,用菜單選擇:File->Export(文件->導出),
剩下的步驟和第一種方法是一樣的。
3,選中要生成文檔的項目,然後用菜單選擇,
Project->Generate Javadoc直接進入Javadoc Generation對話框,剩餘的步驟就和第一種方法在Javadoc Generation對話框開始是一樣的。

Ⅵ 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如何獲取類上的註解

如何獲取類的註解和註解的內容

java反射

ClasssomeClass=Some.getClass();
註解somtAnnotation=someClass.getAnnotation(註解.class)
屬性類型屬性值=someAnnotation.屬性();

要一一遍歷么?

這個要根據需求來頂,誰用誰遍歷,

Ⅷ java 如何獲取方法的注釋

通過JAVA的反射技術實現


一、需要定義元注釋

Ⅸ 如何用java 程序獲取方法上的注釋

你說的應該是註解吧,注釋本身就是一種說明性的作用,JAVA文件在被編譯到CLASS文件後是不存在注釋的,註解不一樣,可以通過反射獲取,但是JAVA文件被編譯後,註解也不一定存在,這個取決於你所定義註解的生命周期。

Ⅹ 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獲取類的註解相關的資料

熱點內容
dns使用加密措施嗎 瀏覽:172
php獨立運行 瀏覽:530
手機sh執行命令 瀏覽:727
雲伺服器的角色 瀏覽:733
單片機頻率比例 瀏覽:840
我的世界伺服器如何關閉正版驗證 瀏覽:504
如何查roid伺服器上的 瀏覽:130
安卓手機主板如何撬晶元不掉電 瀏覽:249
php各個框架的優缺點 瀏覽:101
php1100生成數組 瀏覽:359
以後做平面設計好還是程序員好 瀏覽:552
雲伺服器應用管理 瀏覽:438
飢荒雲伺服器搭建過程 瀏覽:186
可編程式控制制器優點 瀏覽:99
壓縮垃圾車說明書 瀏覽:28
五輪書pdf 瀏覽:802
單片機定時流水中斷系統流水燈 瀏覽:701
u8如何連接伺服器配置 瀏覽:68
動力在於緩解壓力 瀏覽:867
報考科一用什麼app 瀏覽:346