亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java Annotation Overview詳解

 更新時(shí)間:2014年02月21日 15:05:33   作者:  
這篇文章主要介紹了Java Annotation Overview,需要的朋友可以參考下

JAVA注解概述:

1. 注解是給編譯器看的,這不同于注釋

2. 三個(gè)基本的注解:

@Override  告訴編譯器這是在覆寫方法
@Deprecated 告訴編譯器該方法過(guò)時(shí)了
@SuppressWarnings("unchecked")  不要警告
= (value={"unchecked"})
3. 注解可以用來(lái)替代傳統(tǒng)的配置文件
4. JDK5 開始,Java增加了對(duì)元數(shù)據(jù)(MetaData)的支持,即Annotation。

自定義注解和反射注解

自定義注解:
1. 新建annotation:(比接口的定義只多了個(gè)@符號(hào))

復(fù)制代碼 代碼如下:

public @interface myAnnotation { 
    //屬性 
    String who(); 
    int age(); 
    String gender(); 

2. 設(shè)置帶默認(rèn)值的注解

復(fù)制代碼 代碼如下:

public @interface YouAnnotation { 
    String who() default "tom"; 
    int age() default 0; 
    String gender() default "female"; 

3. 數(shù)組情況

復(fù)制代碼 代碼如下:

public @interface TheyAnnotation { 
    String[] value(); //一定要有() 

元Annotation / MetaAnnotation
用來(lái)修飾Annotation的。(可以查看@Override的源代碼)

@Retention 注解策略,用于指定該Annotation可以保留的域
RetentionPolicy.CLASS
在字節(jié)碼級(jí)別有,在運(yùn)行級(jí)別不可見(jiàn)(默認(rèn))
RetentionPolicy.RUNTIME
三個(gè)層級(jí)均可見(jiàn),運(yùn)行時(shí)可以反射
RetentionPolicy.SOURCE  只在源碼級(jí)別上可用,在字節(jié)碼級(jí)別不可見(jiàn)

@Target  指定注解可以被用在哪些范圍上
@Documented 寫入文檔,在使用javadoc命令寫入html文檔時(shí),該注解一同被寫入
@Inherited  可繼承性,繼承該類的子類依然具有父類該注解的特性

ex.反射注解的方式執(zhí)行連接數(shù)據(jù)庫(kù)操作:

定義注解如下:

復(fù)制代碼 代碼如下:

//讓一個(gè)注解可以在運(yùn)行時(shí)可以被反射 
@Retention(RetentionPolicy.RUNTIME) 
public @interface DbInfo { 
    String driver() default "com.mysql.jdbc.Driver"; 
    String url() default "url = jdbc:mysql://localhost:3306/academic"; 
    String password() default "1234"; 
    String username() default "root"; 

反射注解:

復(fù)制代碼 代碼如下:

@DbInfo 
public static Connection getConnection() throws Exception{ 
    //取得該類的字節(jié)碼 
    Class clazz = Demo2.class; 
    //取得該類中名為getConnection()的公共方法 
    //參數(shù)1:方法名 
    //參數(shù)2:方法類型參數(shù)對(duì)應(yīng)的字節(jié)碼對(duì)象,沒(méi)有的話,即null 
    Method method = clazz.getMethod("getConnection", null); 
    //通過(guò)該方法,取得該方法上定義的注解 
    DbInfo dbInfo = method.getAnnotation(DbInfo.class); 
    String driver = dbInfo.driver(); 
    String url = dbInfo.url(); 
    String user = dbInfo.username(); 
    String password = dbInfo.password(); 

    Class.forName(driver); 
    return DriverManager.getConnection(url, user, password); 

相關(guān)文章

  • SpringBoot3.x版本與Mybatis-Plus不兼容問(wèn)題

    SpringBoot3.x版本與Mybatis-Plus不兼容問(wèn)題

    當(dāng)使用3.x版本的SpringBoot結(jié)合Mybatis-Plus時(shí)版本不兼容就會(huì)報(bào)錯(cuò),本文就來(lái)介紹一下這個(gè)問(wèn)題的解決方法,感興趣的可以了解一下
    2024-03-03
  • mybatis多數(shù)據(jù)源動(dòng)態(tài)切換的完整步驟

    mybatis多數(shù)據(jù)源動(dòng)態(tài)切換的完整步驟

    這篇文章主要給大家介紹了關(guān)于mybatis多數(shù)據(jù)源動(dòng)態(tài)切換的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Redisson分布式信號(hào)量RSemaphore的使用超詳細(xì)講解

    Redisson分布式信號(hào)量RSemaphore的使用超詳細(xì)講解

    這篇文章主要介紹了Redisson分布式信號(hào)量RSemaphore的使用,基于Redis的Redisson的分布式信號(hào)量RSemaphore采用了與java.util.concurrent.Semaphore相似的接口和用法
    2023-02-02
  • Java虛擬機(jī)工作原理

    Java虛擬機(jī)工作原理

    本文主要介紹了Java虛擬機(jī)的工作原理。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • java單鏈表實(shí)現(xiàn)書籍管理系統(tǒng)

    java單鏈表實(shí)現(xiàn)書籍管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java單鏈表實(shí)現(xiàn)書籍管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java執(zhí)行可執(zhí)行文件的三種方法詳解

    Java執(zhí)行可執(zhí)行文件的三種方法詳解

    這篇文章主要為大家詳細(xì)介紹了Java中執(zhí)行可執(zhí)行文件的三種方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下
    2024-02-02
  • spring cloud gateway整合sentinel實(shí)現(xiàn)網(wǎng)關(guān)限流

    spring cloud gateway整合sentinel實(shí)現(xiàn)網(wǎng)關(guān)限流

    這篇文章主要介紹了spring cloud gateway整合sentinel實(shí)現(xiàn)網(wǎng)關(guān)限流,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Spring?Cloud?Eureka:?指定Zone方式

    Spring?Cloud?Eureka:?指定Zone方式

    這篇文章主要介紹了Spring?Cloud?Eureka:?指定Zone方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 輕松掌握J(rèn)ava命令模式

    輕松掌握J(rèn)ava命令模式

    這篇文章主要幫助大家輕松掌握J(rèn)ava命令模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Java中結(jié)束循環(huán)的方法

    Java中結(jié)束循環(huán)的方法

    這篇文章主要介紹了Java中結(jié)束循環(huán)的方法,文中有段代碼在return,結(jié)束了整個(gè)main方法,即使輸出hello world的語(yǔ)句位于循環(huán)體外,也不會(huì)被執(zhí)行,對(duì)java結(jié)束循環(huán)方法感興趣的朋友跟隨小編一起看看吧
    2023-06-06

最新評(píng)論