Java自定義註解和執行時靠反射獲取註解
<span style="font-family:SimHei;font-size:18px;color:#663300;"><strong><span class="bh_code_a_Java_keywords">public</span> <span class="bh_code_a_Java_keywords">static</span> <span class="bh_code_a_Java_keywords">void</span> main(String[] args) <span class="bh_code_a_Java_keywords">throws</span> SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { AnnotationTest2 annotationTest2 = <span class="bh_code_a_Java_keywords">new</span> AnnotationTest2(); <span class="bh_code_a_Java_comments">//獲取AnnotationTest2的Class例項</span> Class<AnnotationTest2> c = AnnotationTest2.<span class="bh_code_a_Java_keywords">class</span>; <span class="bh_code_a_Java_comments">//獲取需要處理的方法Method例項</span> Method method = c.getMethod(<span class="bh_code_a_Java_string">"execute"</span>, <span class="bh_code_a_Java_keywords">new</span> Class[]{}); <span class="bh_code_a_Java_comments">//判斷該方法是否包含MyAnnotation註解</span> <span class="bh_code_a_Java_keywords">if</span>(method.isAnnotationPresent(MyAnnotation.<span class="bh_code_a_Java_keywords">class</span>)){ <span class="bh_code_a_Java_comments">//獲取該方法的MyAnnotation註解例項</span> MyAnnotation myAnnotation = method.getAnnotation(MyAnnotation.<span class="bh_code_a_Java_keywords">class</span>); <span class="bh_code_a_Java_comments">//執行該方法</span> method.invoke(annotationTest2, <span class="bh_code_a_Java_keywords">new</span> Object[]{}); <span class="bh_code_a_Java_comments">//獲取myAnnotation</span> String[] value1 = myAnnotation.value1(); System.out.println(value1[0]); } <span class="bh_code_a_Java_comments">//獲取方法上的所有註解</span> Annotation[] annotations = method.getAnnotations(); <span class="bh_code_a_Java_keywords">for</span>(Annotation annotation : annotations){ System.out.println(annotation); } }</strong></span>
相關推薦
Java自定義註解和執行時靠反射獲取註解
<span style="font-family:SimHei;font-size:18px;color:#663300;"><strong><span class="bh_code_a_Java_keywords">public</span> <span
Docker自定義網路和執行時指定IP
Docker 預設網路 Docker安裝後,預設會建立下面三種網路型別: 1 2 3 4 5 $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae
Java 自定義servlet 繼承httpservlet時 需要引入那些jar包
因為我們的web引用是在servlet容器中執行,所以我們需要繼承當前容器提供的servlet介面,實現自己定義的servlet類。來處理我們需要接收和處理的action請求。 舉例我們當前使用的是tomcat伺服器,我們只需要引入tomcat安裝目錄lib資
JAVA自定義註解的使用和定義
最近有所瞭解到自定義註解的應用,因此學習了一下,在專案後臺介面開發中,資料的傳輸經常有對資料內容格式及一些資訊規則的校驗,應用註解在資料進入後臺的開始使用自定義註解是一種比較可靠的方案。 一、註解的概念及分類 1.首先我們來看一下什麼是註解:
自定義註解之執行時註解(RetentionPolicy.RUNTIME)
前面有提到註解按生命週期來劃分可分為3類: 1、RetentionPolicy.SOURCE:註解只保留在原始檔,當Java檔案編譯成class檔案的時候,註解被遺棄; 2、RetentionPolicy.CLASS:註解被保留到class檔案,但jvm載入class檔案
Java自定義執行緒池和執行緒總數控制
1 概述池化是常見的思想,執行緒池是非常典型的池化的實現,《Java併發程式設計實戰》也大篇幅去講解了Java中的執行緒池。本文實現一個簡單的執行緒池。 2 核心類 【1】介面定義 public interface IThreadPool<Job extends
Java自定義註解的使用場景和原理
什麼是註解? 對於很多初次接觸的開發者來說應該都有這個疑問?Annontation是Java5開始引入的新特徵,中文名稱叫註解。它提供了一種安全的類似註釋的機制,用來將任何的資訊或元資料(metadata)與程式元素(類、方法、成員變數等)進行關聯。為程式的元素(類、方法、成員變數)加上更直觀更明
JAVA自定義註解和提取註解資訊
第一節:定義註解 定義新的Annotation型別使用@interface關鍵字(在原有interface關鍵字前增加@符號)。定義一個新的Annotation型別與定義一個介面很像,例如: public @interface Test{ } 定義完該Annot
java @interface自定義註解和通過反射獲取註解屬性值
@interface @interface用來宣告一個註解,其中的每一個方法實際上是聲明瞭一個配置引數。 方法的名稱就是引數的名稱,返回值型別就是引數的型別 引數型別只能是基本型別、Class、String、enum。 可以通過default來宣告引數的
Java自定義註解(原理和API)初探
今天稍稍學習了下註解,關於註解,我想大家都不陌生,目前可能在hibernate配置中可能會用的多一點,在JPA中也會用到。我想說的是學習註解可以幫助我們更好的理解註解在框架中(比如hibernate和Spirng等)的應用。 Annotation是JDK5版本以來的新特性。目前在JavaSE
Java自定義執行異常和編譯異常類
Throwable 類是 Java 語言中所有錯誤Error 和異常Exception的超類,而異常分為執行時異常和非執行時異常 1、Error和執行時異常RuntimeException及其子類為非檢查異常(unchecked),其它異常為檢查異常(checked)。
Java自定義註解 和 springMVC攔截器 配合使用記錄系統操作日誌的案例
自定義註解的用法, 好多人不知道, 在這裡, 程式碼的註釋中, 我已經詳細的介紹了, 另外就是很多人不知道自定義註解如何使用, 這裡配合springMVC攔截器, 做一個非常實用的案例. 案例: 記錄系統操作的日誌 首先是定義註解: package cn.wxy.ssm
Java自定義註解反射校驗數據
sda new out 格式 是否 本地 imp 使用範圍 數據類型 package com.annotations.ecargo; import java.lang.annotation.ElementType; import java.lang.annotati
java自定義註解
不包含 doc 1.2 color 子類 局部變量 ati 包含 ant Java註解是附加在代碼中的一些元信息,用於一些工具在編譯、運行時進行解析和使用,起到說明、配置的功能。註解不會也不能影響代碼的實際邏輯,僅僅起到輔助性的作用。包含在 java.lang.annot
Java自定義類加載和ClassPath類加載器
訪問 pub 需要 委派 iat 定義 pro logs repl 1 自定義類加載器: 實現規則: 自定義類加載器,需要重寫findClass,然後通過調用loadClass進行類加載(loadClass通過遞歸實現類的雙親委派加載) package com.daxin
Java的自定義註解及通過反射獲取註解
tco element pos pri jvm ado 參數聲明 機制 world 一、註解基本知識 1、元註解:@Retention @Target @Document @Inherited 2、Annotation型定義為@interface, 所有的Annot
java 自定義註解
tar 基本用法 而且 最簡 ida outline plain 現在 傳播 參考鏈接:https://blog.csdn.net/hbzyaxiu520/article/details/6212969 JAVA自定義註釋(Target,Retention,Document
Java 自定義註解&通過反射獲取類、方法、屬性上的註解
反射 JAVA中的反射是執行中的程式檢查自己和軟體執行環境的能力,它可以根據它發現的進行改變。通俗的講就是反射可以在執行時根據指定的類名獲得類的資訊。 註解的定義 註解通過 @interface 關鍵字進行定義。 /** * 自定義註解 *
Java中的自定義類和ArrayList<E>的使用案例
自定義類和ArrayList的使用 自定義類: 將生活中事物抽象成程式碼,或者說是對生活中事物的一種對映。 1.類是一種引用資料型別 2.類中包含了屬性和功能, 屬性:事物的特性,例如:name(姓名),gender(性別),color(顏色),brand(品牌),siz
Java自定義註解之元註解(meta-annotation)Target、Retention、Documented、Inherited介紹
元註解: 元註解的作用就是負責註解其他(如:自定義)註解,用來對其它 annotation型別作說明。Java定義了4個標準的meta-annotation型別: [email protected] [email protected