java註解簡單講解以及自定義註解例子
package com.Howard.test04;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 自定義註解類
* 但是必須要加上元註解
* @Retention(RetentionPolicy.RUNTIME)元註解
* @Target設定該註解的使用的目標 可以是方法或類等,也可以多個
* @author Howard
* 2017年2月19日
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value={ElementType.METHOD,ElementType.TYPE})
public @interface myAnnotation {
//屬性 @myAnnotation(xxx="yyy")
//如果各個屬性都沒預設值 那麼使用該註解必須註明所有屬性的值
//如果有預設值的 可以不註明 註明則覆蓋預設值
//如果屬性是value的,並且只有這個屬性或者其它屬性有預設值不另賦值,那麼vlue這個屬性在註明的
//時候可以簡單寫為@myAnnotation("red")
String color() default "red";
String value();
int[] attr() default {1,2,3};
//屬性也是一個註解 mataAnnotation也是一個自定義註解
mataAnnotation mataAnnotation() default @mataAnnotation("aaa");
}
package com.Howard.test04;
/**
* @author Howard
* 2017年2月19日
*/
public @interface mataAnnotation {
String value();
}
測試類:
package com.Howard.test04;
/**
* 測試java註解
* @author Howard
* 2017年2月19日
*/
@myAnnotation(value="abc",attr={3,4,5},[email protected]("bbb"))
public class AnnotationTest {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
//該方法已經過時 在方法上加註解@SuppressWarnings("deprecation")可以取消黃色提醒
System.runFinalizersOnExit(false);
//過時
method1();
//檢測是該類否有註解
if(AnnotationTest.class.isAnnotationPresent(myAnnotation.class)){
myAnnotation annotation = AnnotationTest.class.getAnnotation(myAnnotation.class);
//該註解類必須有元註解才可以
//@com.Howard.test04.myAnnotation()
System.out.println(annotation);
//獲取註解的屬性值
System.out.println(annotation.color());
System.out.println(annotation.value());
System.out.println(annotation.attr().length);
System.out.println(annotation.mataAnnotation().value());
}
}
@Deprecated
public static void method1(){
//java為了可以向下相容使用以前版本的jdk使用者,並不會刪除過時的方法,僅提醒而已
System.out.println("已經過時的方法,加註解就變成過時的方法");
}
}
執行結果:
相關推薦
java註解簡單講解以及自定義註解例子
註解(Annotation) jdk5定義了4個標準的元註解。除了元註解,還有其它幫我們定義好的註解如@SuppressWarnings 當然我們也可以自定義註解 @Target, @Retention, @Documented, @Inherited @Retent
java註解詳解和自定義註解
本文首先介紹了註解的基本概念和JDK內建的標準註解,然後介紹瞭如何自定義註解,最後給出了自定義註解的例子。 一、註解的基本概念 Java 註解就像修飾符一樣,可以用於從java程式碼中抽取文件、跟蹤程式碼中的依賴性或者在編譯時做檢查。註解可以被應用在包、類、
Spring 關於bean的獲取以及自定義註解的起始注入和獲取
最近有收穫了一點東西,特來記錄。假設一個場景,一個學生的學習計劃根據其不同的人,和學習內容有不同的結果,和處理方式。按照我們正常的寫法,應該是就是構造一個’內容‘介面。例如 public interface PersonAnnotationService {
深入理解Java:註解(Annotation)自定義註解
要深入學習註解,我們就必須能定義自己的註解,並使用註解,在定義自己的註解之前,我們就必須要了解Java為我們提供的元註解和相關定義註解的語法。 元註解: 元註解的作用就是負責註解其他註解。Java5.0定義了4個標準的meta-annotation型別,它們被用來
ButterKnife的使用以及自定義註解例項化控制元件
現在網上有很多自定義註解,主要就是為了先原先的例項化控制元件太麻煩了,於是有了各種的注意,但是我這裡介紹一個外掛一鍵生成,不需要手寫。配置方法如下開啟Android Studio的File->Pr
Java註解詳解,自定義註解,利用反射解析註解
概要 這篇文章將會帶領你瞭解Java註解,註解的使用,註解的解析,利用反射解析執行時註解,相信有一定Java基礎的小夥伴一定會接觸大量的註解,Spring , Hibernate , MyBatis等著名的框架也有很多關於註解方面的應用,對於註解的使用小夥伴們
註解(Annotation)自定義註解(四)--編譯期註解解析講解和手寫ButterKnife
註解(Annotation)自定義註解(四)–編譯期註解解析講解和手寫ButterKnife 前言 前面兩篇講解了執行期註解的使用和xutils原始碼的解析,以及手動打造自己的IOC框架。但是執行期註解由於效能問題被一些人所詬病,所以這裡我們講下編譯器註
深入理解Java:註解(Annotation)自定義註解入門
要深入學習註解,我們就必須能定義自己的註解,並使用註解,在定義自己的註解之前,我們就必須要了解Java為我們提供的元註解和相關定義註解的語法。 元註解: 元註解的作用就是負責註解其他註解。Java5.0定義了4個標準的meta-annotation型別,它們被用來
Spring Boot自定義註解掃描器 Spring Boot自定義註解掃描器
原 Spring Boot自定義註解掃描器 2018年08月15日 14:37:52 Dongguabai 閱讀數:502
spring元註解說明和註解簡單解析以及部分常見註解說明
背景:熟悉註解的作用,以及有可能需要自定義註解。 元註解: @Target 表示該註解可以用於什麼地方,可能的ElementType引數有: CONSTRUCTOR:構造器的宣告 FIELD:域宣告(包括enum例項) LOCAL_VARIABLE:區域性變數宣告 METHOD:方法
Spring註解的原理與自定義註解的實現
本文只是用於記錄個人在學習annotation過程中的心德,所以知識面不太完善。 1、註解的基本概念 Java 的annotation提供的是一種類似於註釋的機制,註解本身不做任何事,好比一個配置或者說一個標記。用於包、型別、構造方法、方法、成員變數、引數及本地變數
註解提高篇:自定義註解處理器(APT)
## 0x01 繼承AbstractProcessor抽象類 當定義好Annotation註解後,接下來就需要一個註解處理器來處理我們的自定義註解了。實現Java Annotation一般需要繼承AbstractProcessor抽象類,並且重寫其四個方法來實現提取,解析並處理自定義註解的邏輯如下: cla
java 加密演算法 base64 以及 自定義 加解密
import sun.misc.BASE64Decoder; public class Base64Utils { public static String getBASE64(byte[] b) { String s = null; if (b !=
使用Spring註解AOP(基於自定義註解和包下攔截方法)
一、基於自定義註解@Pointcut方式 1.自定義一個註解 package spring4.java.service.aop; import java.lang.annotation.Documented; import java.lang.annota
Spring AOP 基於註解實現日誌記錄+自定義註解
一、寫一個自定義註解 註解中包括配置方法所在模組名稱,以及功能名稱,當然我們在註解裡可以自定義。import java.lang.annotation.Documented; import java.lang.annotation.ElementType; im
IOS導航欄的簡單用法以及自定義實現例程
雖然網上資源很多,但是還是很讓人難受,尤其是新手。 找了好久,好多例程都看了,有的不能跳轉,有的不能新增按鈕,當然這是自己能力有限所致,看得越多,越糊塗了。 最終找到了比較合適的解決方案,記下也分享一下! 最終實現效果: 1、主介面 2、跳轉後頁面 上程式碼: 1、代理
註解的使用和自定義註解
JDK中的三個基本註解 a、@Override:檢查子類確實是覆蓋了父類的方法。 b、@Deprecated:說明已經過時了。 c、@SuppressWarnings({ "unused", "deprecation" }):抑制程式中的警告。unused警告
java自定義註解以及原理
import java.util.Arrays; import java.util.List; import com.puhui.flowplatform.manage.filter.RightFilter; import org.springframework.aop.BeforeAdvice; impo
Java自定義註解以及模擬單元測試
一、自定義註解1.編寫自定義註解類 @MyTestpackage com.itheima.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; i
Java自定義註解反射校驗數據
sda new out 格式 是否 本地 imp 使用範圍 數據類型 package com.annotations.ecargo; import java.lang.annotation.ElementType; import java.lang.annotati