最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java注解的全面分析

 更新時間:2017年08月04日 10:19:15   作者:大白能  
這篇文章主要介紹了java注解的全面分析的相關(guān)資料,Java提供的一種原程序中的元素關(guān)聯(lián)任何信息和任何元數(shù)據(jù)的途徑和方法,需要的朋友可以參考下

全面解析java注解

Java中的常見注解

a.JDK中的注解

    @Override 覆蓋父類或者父接口的方法
    @Deprecated 表示方法已經(jīng)過時
    @SuppressWarnings("deprecation") 忽略方法過時警告

b.常見的第三方注解

    例如Spring中的@Autowired(自動注入)

注解的分類

a.按照運行機制分

    1.源碼注解
        注解只在源碼中存在,編譯成class文件就不存在了

    2.編譯時注解
        注解在源碼和class文件中都存在
        eg:@Override、@Deprecated、@SuppressWarnings

    3.運行時注解
        在運行階段還起作用,甚至?xí)绊戇\行邏輯
        eg:@Autowired

b.按照來源分

    1.來自JDK的注解
    2.來自第三方的注解
    3.自定義注解

c.元注解:注解的注解

自定義注解

1.自定義注解的語法要求

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Description {
  String desc();
  String author();
  int age() default 18;
}

注意:

  • 使用@interface關(guān)鍵字定義注解
  • 成員以無參無異常方式聲明
  • 可以用default為成員指定一個默認值
  • 成員類型是受限的,合法的類型包括原始類型以及String、Class、Annotation、Enumeration
  • 如果注解只有一個成員,則成員名必須取名為value(),在使用時可以忽略成員名和賦值號(=)
  • 注解類可以沒有成員,沒有成員的注解稱為標識注解

2.元注解

a.@Target({ElementType.METHOD,ElementType.TYPE})

注解的作用域:

  • ElementType.CONSTRUCTOR 構(gòu)造方法聲明
  • ElementType.FIELD 字段聲明
  • ElementType.LOCAL_VARIABLE 局部變量聲明
  • ElementType.METHOD 方法聲明
  • ElementType.PACKAGE 包聲明
  • ElementType.PARAMETER 參數(shù)聲明
  • ElementType.TYPE 類、接口

b.@Retention(RetentionPolicy.RUNTIME)

注解的生命周期:

  • RetentionPolicy.SOURCE 只在源碼顯示,編譯時會丟棄
  • RetentionPolicy.CLASS 編譯時會記錄到class中,運行時忽略
  • RetentionPolicy.RUNTIME 運行時存在,可以通過反射讀取

c.@Inherited

標識性的元注解:允許子類繼承

d.@Documented

生成javadoc時會包含注解

使用自定義注解
語法:@注解名(成員1=成員值1,成員2=成員值2)

@Description(desc="I am demo",author="boy",age=18)
public void demo(){}

解析注解

概念:通過反射獲取類、函數(shù)或成員上的運行時注解信息,從而實現(xiàn)動態(tài)控制程序運行的邏輯

以上就是java 注解的實例詳解,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • SpringMVC視圖作用詳解

    SpringMVC視圖作用詳解

    這篇文章主要介紹了springMVC中的視圖與視圖解析器,springMVC視圖的種類很多,默認有轉(zhuǎn)發(fā)視圖和重定向視圖,本文就每一種視圖給大家詳細介紹,需要的朋友可以參考下
    2022-11-11
  • Eclipse的Debug調(diào)試技巧大全(總結(jié))

    Eclipse的Debug調(diào)試技巧大全(總結(jié))

    這篇文章主要介紹了Eclipse的Debug調(diào)試技巧大全(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • java實現(xiàn)浮點數(shù)轉(zhuǎn)人民幣的小例子

    java實現(xiàn)浮點數(shù)轉(zhuǎn)人民幣的小例子

    java實現(xiàn)浮點數(shù)轉(zhuǎn)人民幣的小例子,需要的朋友可以參考一下
    2013-03-03
  • Java中數(shù)組的一些常見操作和技巧分析

    Java中數(shù)組的一些常見操作和技巧分析

    這篇文章主要給大家介紹了關(guān)于Java中數(shù)組的一些常見操作和技巧分析的相關(guān)資料,數(shù)組(Array)是Java中的一種引用數(shù)據(jù)類型,是多個相同類型數(shù)據(jù)一定順序排列的集合,并使用一個名字命名,并通過編號的方式對這些數(shù)據(jù)進行統(tǒng)一管理,需要的朋友可以參考下
    2023-08-08
  • maven中自定義MavenArchetype的實現(xiàn)

    maven中自定義MavenArchetype的實現(xiàn)

    Maven自身提供了許多Archetype來方便用戶創(chuàng)建Project,為了避免在創(chuàng)建project時重復(fù)的拷貝和修改,我們通過自定義Archetype來規(guī)范顯得還蠻有必要,下面就來介紹一下,感興趣的可以了解一下
    2025-01-01
  • Spring 緩存抽象示例詳解

    Spring 緩存抽象示例詳解

    Spring框架自身并沒有實現(xiàn)緩存解決方案,但是從3.1開始定義了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口,提供對緩存功能的聲明,能夠與多種流行的緩存實現(xiàn)集成。這篇文章主要介紹了Spring 緩存抽象 ,需要的朋友可以參考下
    2018-09-09
  • java對象與json對象之間互相轉(zhuǎn)換實現(xiàn)方法示例

    java對象與json對象之間互相轉(zhuǎn)換實現(xiàn)方法示例

    這篇文章主要介紹了java對象與json對象之間互相轉(zhuǎn)換實現(xiàn)方法,結(jié)合實例形式分析了java對象與json對象相互轉(zhuǎn)換實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 多數(shù)據(jù)源如何實現(xiàn)事務(wù)管理

    多數(shù)據(jù)源如何實現(xiàn)事務(wù)管理

    Spring中涉及三個核心事務(wù)處理接口:PlatformTransactionManager、TransactionDefinition和TransactionStatus,PlatformTransactionManager提供事務(wù)操作的基本方法,如獲取事務(wù)、提交和回滾
    2024-09-09
  • Spring @value和@PropertySource注解使用方法解析

    Spring @value和@PropertySource注解使用方法解析

    這篇文章主要介紹了Spring @value和@PropertySource注解使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Jenkins一鍵打包部署SpringBoot應(yīng)用

    Jenkins一鍵打包部署SpringBoot應(yīng)用

    本文主要介紹了Jenkins一鍵打包部署SpringBoot應(yīng)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論

谢通门县| 平武县| 平和县| 黑山县| 册亨县| 乐都县| 紫云| 绥阳县| 拉孜县| 凤翔县| 沙雅县| 威信县| 安福县| 大连市| 定州市| 高州市| 瑞丽市| 东海县| 黄骅市| 泌阳县| 应用必备| 安多县| 固镇县| 阜城县| 永兴县| 宁国市| 谢通门县| 溧水县| 康定县| 河津市| 兴山县| 和平县| 依兰县| 望谟县| 甘谷县| 本溪| 兴山县| 望谟县| 龙里县| 越西县| 迁安市|