亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java @注解

2019-11-15 01:15:43
字體:
來源:轉載
供稿:網友
java @注解1.注解簡介

在開發Java程序,尤其是Java EE應用的時候,總是免不了與各種配置文件打交道。以Java EE中典 型的S(PRing)S(truts)H(ibernate)架構來說,Spring、Struts和Hibernate這三個框架都有自己的xml格式的配置文件。這些配置文件需要與Java源代碼保存同步,否則的話就可能出現錯誤。而且這些錯誤有可能到了運行時刻才被發現。把同一份信息保存在兩個地方,總是個壞的主意。理想的情況是在一個地方維護這些信息就好了。其它部分所需的信息則通過自動的方式來生成。JDK5中引入了源代碼中的注解(annotation)這一機制。注解使得Java源代碼中不但可以包含功能性的實現代碼,還可以添加元數據。注解的功能類似于代碼中的注釋,所不同的是注解不是提供代碼功能的說明,而是實現程序功能的重要組成部分。Java注解已經在很多框架中得到了廣泛的使用,用來簡化程序中的配置。

a.生成文檔。這是最常見的,也是java 最早提供的注解。常用的有@see @param @return 等;b.跟蹤代碼依賴性,實現替代配置文件功能。比較常見的是spring 2.5 開始的基于注解配置。作用就是減少配置?,F在的框架基本都使用了這種配置來減少配置文件的數量;c. 編譯時進行格式檢查。如@Override 放在方法前,如果你這個方法并不是覆蓋了超類方法,則編譯時就能檢查出。

2.使用注解

注解的語法比較簡單,除了@符號的使用之外,它基本與Java固有語法一致。Java SE5內置了三種標準注解: @Override,表示當前的方法定義將覆蓋超類中的方法。 @Deprecated,使用了注解為它的元素編譯器將發出警告,因為注解@Deprecated是不贊成使用的代碼,被棄用的代碼。@SuppressWarnings,關閉不當編譯器警告信息。上面這三個注解多少我們都會在寫代碼的時候遇到。Java還提供了4中注解,專門負責新注解的創建。

@Target

表示該注解可以用于什么地方,可能的ElementType參數有:

CONSTRUCTOR:構造器的聲明

FIELD:域聲明(包括enum實例)

LOCAL_VARIABLE:局部變量聲明

METHOD:方法聲明

PACKAGE:包聲明

PARAMETER:參數聲明

TYPE:類、接口(包括注解類型)或enum聲明

@Retention

表示需要在什么級別保存該注解信息??蛇x的RetentionPolicy參數包括:

SOURCE:注解將被編譯器丟棄

CLASS:注解在class文件中可用,但會被VM丟棄

RUNTIME:VM將在運行期間保留注解,因此可以通過反射機制讀取注解的信息。

@Document

將注解包含在Javadoc中

@Inherited

允許子類繼承父類中的注解

在一般的Java開發中,最常接觸到的可能就是@Override和@SupressWarnings這兩個注解了。使用@Override的時候只需要一個簡單的聲明即可。這種稱為標記注解(markerannotation ),它的出現就代表了某種配置語義。而其它的注解是可以有自己的配置參數的。配置參數以名值對的方式出現。使用 @SupressWarnings的時候需要類似@SupressWarnings({"uncheck", "unused"})這樣的語法。在括號里面的是該注解可供配置的值。由于這個注解只有一個配置參數,該參數的名稱默認為value,并且可以省略。而花括號則表示是數組類型。在JPA中的@Table注解使用類似@Table(name = "Customer", schema = "APP")這樣的語法。從這里可以看到名值對的用法。在使用注解時候的配置參數的值必須是編譯時刻的常量。從某種角度來說,可以把注解看成是一個XML元素,該元素可以有不同的預定義的屬性。而屬性的值是可以在聲明該元素的時候自行指定的。在代碼中使用注解,就相當于把一部分元數據從XML文件移到了代碼本身之中,在一個地方管理和維護。

3.開發注解

在一般的開發中,只需要通過閱讀相關的API文檔來了解每個注解的配置參數的含義,并在代碼中正確使用即可。在有些情況下,可能會需要開發自己的注解。這在庫的開發中比較常見。注解的定義有點類似接口。下面的代碼給出了一個簡單的描述代碼分工安排的注解。通過該注解可以在源代碼中記錄每個類或接口的分工和進度情況。

1 @Retention(RetentionPolicy.RUNTIME)2 @Target(ElementType.TYPE)3 public @interface Assignment {4 String assignee();5 int effort();6 double finished() default 0;7 } 

@interface用來聲明一個注解,其中的每一個方法實際上是聲明了一個配置參數。方法的名稱就是參數的名稱,返回值類型就是參數的類型??梢酝ㄟ^default來聲明參數的默認值。在這里可以看到@Retention和@Target這樣的元注解,用來聲明注解本身的行為。@Retention用來聲明注解的保留策略,有CLASS、RUNTIME和SOURCE這三種,分別表示注解保存在類文件、JVM運行時刻和源代碼中。只有當聲明為RUNTIME的時候,才能夠在運行時刻通過反射API來獲取到注解的信息。@Target用來聲明注解可以被添加在哪些類型的元素上,如類型、方法和域等。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av有码在线| 在线精品高清中文字幕| 亚洲图片欧美日产| 日韩麻豆第一页| 国产欧美一区二区三区在线| 欧美精品久久久久| 亚洲电影在线观看| 亚洲第一区中文99精品| 色偷偷偷综合中文字幕;dd| 日韩少妇与小伙激情| 一区二区三区视频在线| 色综合久久88色综合天天看泰| 国产精品丝袜久久久久久高清| 欧美激情视频网址| 色av吧综合网| 国产精品久久久av| 亚洲午夜久久久影院| 亚洲自拍欧美另类| 4444欧美成人kkkk| 疯狂做受xxxx高潮欧美日本| 久久精视频免费在线久久完整在线看| 国产精品久久久久久搜索| 成人性生交大片免费看视频直播| 久久久女女女女999久久| 中文字幕亚洲字幕| 欧美亚洲激情在线| 亚洲精品一区中文| 国产精品高潮呻吟视频| 91精品免费视频| 欧美激情国内偷拍| 最近2019年好看中文字幕视频| 亚洲欧美在线x视频| 亚洲欧美一区二区三区情侣bbw| 午夜精品美女自拍福到在线| 中文字幕久久久| 久久久精品免费| 亚洲天堂影视av| 欧美xxxx14xxxxx性爽| 成人综合国产精品| 久久99久国产精品黄毛片入口| 国产成人久久久精品一区| 久久久91精品国产一区不卡| 懂色av一区二区三区| 日韩欧美高清视频| 日韩精品在线免费播放| 日韩经典第一页| 久久全球大尺度高清视频| 亚洲视频精品在线| 国产精品一区二区三区毛片淫片| 亚洲国产成人在线播放| 国产精品日日做人人爱| 亚洲日本aⅴ片在线观看香蕉| 亚洲综合国产精品| 亚洲另类激情图| 精品网站999www| 九九久久久久久久久激情| 欧美巨乳美女视频| 国产午夜精品全部视频在线播放| 最近2019年日本中文免费字幕| 日韩视频免费看| 亚洲第一网站男人都懂| 亚洲精品视频中文字幕| 不卡在线观看电视剧完整版| 欧美日韩aaaa| 成人黄色影片在线| 久久久www成人免费精品张筱雨| 亚洲自拍偷拍福利| 久久精品成人一区二区三区| 国产精品成人av性教育| 国产主播精品在线| 亚洲无亚洲人成网站77777| 欧美一级片久久久久久久| 乱亲女秽乱长久久久| 成人性生交大片免费看视频直播| 久99九色视频在线观看| 搡老女人一区二区三区视频tv| 日韩精品免费看| 国产主播精品在线| 亚洲国产精品女人久久久| 97免费视频在线| 国产精品激情自拍| 亚洲第一页中文字幕| 国产精品视频一区国模私拍| 成人疯狂猛交xxx| 国产一区二区三区视频免费| 成人情趣片在线观看免费| 日韩日本欧美亚洲| 日韩av在线影视| 亚洲欧洲自拍偷拍| 日韩久久精品成人| 成人精品一区二区三区电影免费| 欧美日韩免费在线| 2019中文字幕在线免费观看| 久久久av亚洲男天堂| 国产精品美女久久| 欧洲午夜精品久久久| 亚洲欧洲视频在线| 精品久久香蕉国产线看观看亚洲| 欧美亚洲一级片| 成人精品在线观看| 性色av一区二区咪爱| 久久精品一偷一偷国产| 国产精品久久二区| 成人在线免费观看视视频| 亚洲片国产一区一级在线观看| 91福利视频网| 色老头一区二区三区在线观看| 少妇精69xxtheporn| 欧美午夜丰满在线18影院| 亚洲一级免费视频| 亚洲第一精品久久忘忧草社区| 国产自产女人91一区在线观看| 亚洲色图五月天| 岛国视频午夜一区免费在线观看| 91久久精品国产91久久性色| 成人黄色在线播放| 欧美肥老妇视频| 亚洲娇小xxxx欧美娇小| 欧美激情xxxx性bbbb| 91av在线精品| 亚洲精品一区中文字幕乱码| 欧美一区第一页| 欧美日韩一区二区免费在线观看| 日韩精品视频在线播放| 精品久久香蕉国产线看观看亚洲| 欧美精品电影免费在线观看| 黑人精品xxx一区| 欧美日韩国内自拍| 国产精品日韩欧美大师| 亚洲国产精品成人一区二区| 亚洲人成电影网站| 亚洲精品久久视频| 福利一区视频在线观看| 91久久久久久久久久久久久| 91久久久久久久久| 中文字幕精品www乱入免费视频| 亚洲激情视频在线播放| 久久精视频免费在线久久完整在线看| 丝袜亚洲欧美日韩综合| 日韩福利视频在线观看| 日本高清视频精品| 国产精品丝袜久久久久久高清| 狠狠色香婷婷久久亚洲精品| 亚洲精品久久视频| 在线精品91av| 精品网站999www| 欧美大胆a视频| 91精品国产91久久久久久久久| 国产亚洲成精品久久| 亚洲一区二区久久久久久| 97免费在线视频| 粉嫩av一区二区三区免费野| 欧美激情亚洲一区| 91久久在线视频| 日韩成人小视频| 色无极亚洲影院| 欧美成人一二三| 日韩在线欧美在线| 国产精品1234| 国产91网红主播在线观看| 日韩在线播放一区| 久久天天躁狠狠躁夜夜av| 日韩欧美在线观看| 亚州欧美日韩中文视频|