国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

測試開發(fā)必須掌握的重要知識點-Spring的核心知識點 -Java注解@

開發(fā) 前端
Java 注解(Annotation)又稱 Java 標注,是 JDK5.0 引入的一種注釋機制。Annotation 是一個輔助類,它在 Junit、Struts、Spring 等工具框架中被廣泛使用。

由@Autowired引發(fā)對注解的思考

我們在編寫Spring應用時,會發(fā)現(xiàn)通過@Autowired來對成員變量、方法和構(gòu)造函數(shù)進行標注進而實現(xiàn)自動裝配的工作,在IDE中點擊@Autowired 看其源碼會發(fā)現(xiàn)里面有更多以@開頭的東東,這就是我們今天講解的重點——Java注解!

  1. @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) 
  2. @Retention(RetentionPolicy.RUNTIME) 
  3. @Documented 
  4. public @interface Autowired { 
  5.     /** 
  6.      * Declares whether the annotated dependency is required. 
  7.      * <p>Defaults to {@code true}. 
  8.      */ 
  9.     boolean required() default true

Java 注解詳解

Java 注解(Annotation)又稱 Java 標注,是 JDK5.0 引入的一種注釋機制。Annotation 是一個輔助類,它在 Junit、Struts、Spring 等工具框架中被廣泛使用。Java 語言中的類、方法、變量、參數(shù)和包等都可以被標注。和 Javadoc 不同,Java 標注可以通過反射獲取標注內(nèi)容。在編譯器生成類文件時,標注可以被嵌入到字節(jié)碼中。Java 虛擬機可以保留標注內(nèi)容,在運行時可以獲取到標注內(nèi)容 。當然它也支持自定義Java 標注。

Java 定義了一套內(nèi)置注解,包括:

@Override - 檢查該方法是否是重寫方法。如果發(fā)現(xiàn)其父類,或者是引用的接口中并沒有該方法時,會報編譯錯誤。

@Deprecated - 標記過時方法。如果使用該方法,會報編譯警告。

@SuppressWarnings - 指示編譯器去忽略注解中聲明的警告。

作用在其他注解的注解(或者說 元注解)是:

@Retention - 標識這個注解怎么保存,是只在代碼中,還是編入class文件中,或者是在運行時可以通過反射訪問。這3個生命周期分別對應于:Java源文件(.java文件) ---> .class文件 ---> 內(nèi)存中的字節(jié)碼。

1、RetentionPolicy.SOURCE:注解只保留在源文件,當Java文件編譯成class文件的時候,注解被遺棄;

2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加載class文件時候被遺棄,這是默認的生命周期;

3、RetentionPolicy.RUNTIME:注解不僅被保存到class文件中,jvm加載class文件之后,仍然存在;

@Documented - 標記這些注解是否包含在用戶文檔中。

@Target - 標記這個注解的作用目標是哪種 Java 成員。

@Target(ElementType.TYPE)——接口、類、枚舉、注解

@Target(ElementType.FIELD)——字段、枚舉的常量

@Target(ElementType.METHOD)——方法

@Target(ElementType.PARAMETER)——方法參數(shù)

@Target(ElementType.CONSTRUCTOR) ——構(gòu)造函數(shù)

@Target(ElementType.LOCAL_VARIABLE)——局部變量

@Target(ElementType.ANNOTATION_TYPE)——注解

@Target(ElementType.PACKAGE)——包

@Inherited - 標記這個注解是繼承于哪個注解類(默認 注解并沒有繼承于任何子類)

從 Java 7 開始,額外添加了 3 個注解:

@SafeVarargs - Java 7 開始支持,忽略任何使用參數(shù)為泛型變量的方法或構(gòu)造函數(shù)調(diào)用產(chǎn)生的警告。

@FunctionalInterface - Java 8 開始支持,標識一個匿名函數(shù)或函數(shù)式接口。

@Repeatable - Java 8 開始支持,標識某注解可以在同一個聲明上使用多次。

自定義注解開發(fā)

接下來,我們來學習如何進行自定義注解的開發(fā)。

使用@interface方式定義一個注解

  1. import  java.lang.annotation.Retention; 
  2. import  java.lang.annotation.Target; 
  3. import  java.lang.annotation.ElementType; 
  4. import  java.lang.annotation.RetentionPolicy; 
  5. @Retention(RetentionPolicy.RUNTIME) 
  6. @Target(ElementType.METHOD) 
  7. public @interface MyTag{ 
  8.   String name(); //注解中定義變量name 

寫一個類,在方法中應用@MyTag

  1. public class TestTag { 
  2.      @MyTag(name="case1"
  3.      public void login(){ 
  4.          System.out.println("login"); 
  5.      } 
  6.      @MyTag(name="case2"
  7.      public void info(){ 
  8.          System.out.println("info"); 
  9.      } 
  10.      @MyTag(name="case3"
  11.      public void logout(){ 
  12.          System.out.println("logout"); 
  13.      } 
  14. }  

寫一個測試類,獲取TestTag 類login方法中的@MyTag中的name值。前面我們說了很多注解如何定義,放在哪,現(xiàn)在我們可以開始學習注解屬性的提取了,這才是使用注解的關(guān)鍵,獲取屬性的值才是使用注解的目的。獲取注解屬性, 需要使用反射技術(shù)(我會在下面的文章中重點介紹反射),代碼如下:

  1. public static void main(String[] args) throws NoSuchMethodException, SecurityException, ClassNotFoundException { 
  2.         //裝載類并且對其進行實例化的操作。 
  3.       Class tag = Class.forName("com.my.demo.TestTag"); 
  4.         //調(diào)用login方法(必須是public類型) 
  5.        Method m=tag.getMethod("login");  
  6.       //返回MyTag類型的注釋 
  7.         MyTag name=m.getAnnotation(MyTag.class);  
  8.         //輸出注釋的名稱 
  9.         System.out.println("value is: "+name.name());  
  10.     } 

運行代碼,結(jié)果如下:

  1. value is: case1 

 好了,這就是Java注解的基礎應用,是不是很簡單呢?接下來我還會寫關(guān)于反射技術(shù),以及注解和反射技術(shù)結(jié)合應用的文章,也希望大家持續(xù)關(guān)注。

 

責任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2021-04-07 07:48:00

測試開發(fā)Java反射Spring

2020-11-06 00:50:16

JavaClassLoaderJVM

2025-01-07 14:10:46

SpringBoot開發(fā)Java

2021-01-15 08:35:49

Zookeeper

2020-10-26 10:40:31

Axios前端攔截器

2016-12-21 09:55:55

面試JavaScrip總結(jié)

2021-12-30 08:17:27

Springboot數(shù)據(jù)訪問DataSourceB

2016-05-30 17:31:34

Spring框架

2024-06-04 14:07:00

2021-01-06 13:52:19

zookeeper開源分布式

2024-11-04 09:00:00

Java開發(fā)

2020-05-19 14:40:08

Linux互聯(lián)網(wǎng)核心

2022-04-08 07:51:31

JavaJVM垃圾回收

2025-03-26 11:30:40

2021-05-17 06:02:58

Css前端CSS 特效

2020-10-14 10:50:50

SpringSessiJavaweb

2025-05-13 08:10:00

MySQL二進制日志binlog

2024-04-23 14:25:16

Python備忘清單

2019-10-24 09:09:28

MySQLACIDJava

2024-09-19 16:00:01

網(wǎng)絡編程網(wǎng)絡Python
點贊
收藏

51CTO技術(shù)棧公眾號

91亚洲永久免费精品| 久久精品盗摄| 欧美日韩色图| 欧美激情成人在线视频| 亚洲淫成人影院| 色老头久久综合| 免费男女羞羞的视频网站中文字幕| 日韩精品亚洲专区在线观看| www欧美成人18+| 欧美亚洲成人网| 一个人看的免费视频色| 麻豆久久婷婷| 97国产真实伦对白精彩视频8| 麻豆视频在线观看免费| 精品亚洲成a人| 国产成人综合av| av资源中文在线| 欧美视频中文一区二区三区在线观看| 色偷偷综合社区| 欧美在线播放一区二区| 中文在线а天堂av| 日本欧美在线观看| 亚洲最大福利视频| 九九视频精品全部免费播放| 欧美伊人久久大香线蕉综合69| 日韩精品一区二区三区外面| 国产99re66在线视频| 日韩美一区二区三区| 中文久久电影小说| 亚洲性69xxxbbb| a√在线中文网新版址在线| 黄网动漫久久久| 特黄特色特刺激视频免费播放 | 免费无码不卡视频在线观看| 成人免费黄色大片| 久久精品高清| 日韩av片电影专区| 97视频热人人精品免费| 国产精品视频免费一区| 日韩 欧美一区二区三区| 色婷婷777777仙踪林| 91免费观看视频| 男人天堂av网站| 欧美视频13p| 日韩三级免费| 中文字幕日韩视频| av不卡一区| 国产欧美va欧美va香蕉在线| 亚洲片区在线| 成人一级生活片| 亚洲精品国产a| av在线免费一区| 亚洲免费视频一区二区| 亚洲日本va中文字幕| 国产精品香蕉国产| 日韩av中文在线观看| 波多野结衣之无限发射| 亚洲一区中文日韩| 美脚恋feet久草欧美| 久久久久久中文| 亚洲视频大全| 天天综合色天天综合色hd| 久久精品国产亚洲a| 免费欧美一级视频| 亚洲成av人影院| 免费一二一二在线视频| 国产高清一区视频| 日韩美女精品| 美女被啪啪一区二区 | 国产中文日韩欧美| 男人操女人的视频在线观看欧美 | 中文字幕亚洲二区| 日本久久黄色| 亚洲日本在线看| 国产成人久久久精品一区| 99精品国产在热久久婷婷| 看av免费毛片手机播放| 在线视频国内自拍亚洲视频| 成人精品三级| 亚洲一区二区三区香蕉| 国产二区国产一区在线观看| 在线成人福利| 久久精品亚洲一区| 久久精品官网| 国产黄色免费电影| 亚洲精品网站在线播放gif| 波多野结衣一区| 91九色丨porny丨国产jk| 色综合久久天天| 波多野结衣欧美| 午夜探花在线观看| 在线中文字幕不卡| 欧美绝顶高潮抽搐喷水合集| 麻豆中文字幕在线观看| 欧美视频一区二区三区四区| 精品欧美午夜寂寞影院| 国产在线视频网站| 成人免费观看网站| 亚洲va欧美va人人爽| 免费观看亚洲视频大全| 欧美日韩电影一区二区三区| 亚洲制服丝袜在线| 亚洲精品aaa| 超碰成人免费在线| 最近2019中文字幕大全第二页| a√中文在线观看| 国产精品国产自产拍高清av| 男女免费观看在线爽爽爽视频| 国产精品极品尤物在线观看| 91免费观看视频在线| 91av久久| 国产一区二区不卡视频在线观看| 夜色激情一区二区| 精品网站aaa| 99久久激情视频| 中文字幕在线观看日韩| 美女一区二区视频| 色呦呦在线免费观看| 久精品国产欧美| 欧美日韩一区三区| 亚洲激情影院| 欧美成人片在线| 国产一区二区丝袜| 天天综合色天天| 婷婷六月综合| 青青青免费视频在线2| 国产日韩精品入口| 亚洲一区二区美女| 日本女优一区| 22288色视频在线观看| 日韩av日韩在线观看| 亚洲精品国产高清久久伦理二区| 蜜桃久久久久| 国产黄色影视| 国产美女精品视频免费观看| 亚洲成人动漫精品| 欧美疯狂party性派对| 日韩精品视频在线免费观看| 亚洲激情校园春色| 亚洲系列中文字幕| 久久大胆人体| 欧美重口乱码一区二区| 欧美美女网站色| 欧美午夜电影在线观看| seseavlu视频在线| 国产美女撒尿一区二区| jzzjzzjzz亚洲成熟少妇| 自拍视频在线免费观看| 欧美aaa在线观看| 国产啪精品视频网站| 一区二区三区国产视频| 欧美综合天天夜夜久久| 久久久久久久久蜜桃| 在线观看不卡| 日韩美脚连裤袜丝袜在线| 国产精品第1页| 精品高清美女精品国产区| 亚洲国产二区| 色综合桃花网| 欧美 国产 日本| 国产成人自拍视频在线观看| 91精品办公室少妇高潮对白| 欧美综合国产| 625成人欧美午夜电影| 精品中文字幕av| 欧美激情一级精品国产| 亚洲国产成人精品视频| 日韩一级网站| 欧美视频第一| 老司机色在线视频| 欧美成人第一区| 色噜噜狠狠狠综合曰曰曰88av| 国产精品久久久久久久裸模 | 欧美精品v日韩精品v韩国精品v| 韩国v欧美v亚洲v日本v| av成人男女| 日本一区高清| 最新视频 - x88av| 97视频免费看| 欧美男同性恋视频网站| 成人一区二区三区中文字幕| 神马电影久久| av中文字幕在线观看第一页| 手机在线看福利| eeuss一区二区三区| 亚洲精品一二区| 亚洲国产精品一区二区久久 | 狠狠久久五月精品中文字幕| 国产精品日韩二区| 日本精品福利视频| 亚洲永久字幕| 欧美日韩免费看片| 黄色成人av| 先锋影音网一区| 午夜精品久久久久久久99热| 久久综合色一本| www 四虎| 一区二区日韩免费看| 久久久久久久久久美女| 亚洲人成在线播放网站岛国|