spring系列筆記之常用注解
前言
Spring的一個(gè)核心功能是IOC,就是將Bean初始化加載到容器中,Bean是如何加載到容器的,可以使用Spring注解方式或者Spring XML配置方式。
Spring注解方式減少了配置文件內(nèi)容,更加便于管理,并且使用注解可以大大提高了開(kāi)發(fā)效率!
該篇文章主要做下注解的筆記,以免我經(jīng)常忘記~
先給個(gè)demo
package com.nuofankj.springdemo.resource; import java.lang.annotation.*; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ResourceConfig { }
先從@Target說(shuō)起,此處直接查看源碼并加上注釋
public enum ElementType { /** 類, 接口 (包括注釋類型), 或 枚舉 聲明 */ TYPE, /** 字段聲明(包括枚舉常量) */ FIELD, /** 方法聲明(Method declaration) */ METHOD, /** 正式的參數(shù)聲明 */ PARAMETER, /** 構(gòu)造函數(shù)聲明 */ CONSTRUCTOR, /** 局部變量聲明 */ LOCAL_VARIABLE, /** 注釋類型聲明 */ ANNOTATION_TYPE, /** 包聲明 */ PACKAGE, /** * 類型參數(shù)聲明 */ TYPE_PARAMETER, /** * 使用的類型 */ TYPE_USE }
很明顯@Target 這個(gè)枚舉提供了一個(gè)簡(jiǎn)單的分類,即可能出現(xiàn)在Java程序中的位置。
接下來(lái)查看@Retention,同樣查看源碼
public enum RetentionPolicy { /** * 注釋只在源代碼級(jí)別保留,編譯時(shí)被忽略 */ SOURCE, /** * 注釋將被編譯器在類文件中記錄但在運(yùn)行時(shí)不需要JVM保留。這是默認(rèn)的行為 */ CLASS, /** *注釋將被編譯器記錄在類文件中,運(yùn)行時(shí)保留VM,因此可以反讀。 */ RUNTIME }
意思便是:RetentionPolicy這個(gè)枚舉類型的常量描述了保留注釋的各種策略,即指定注釋要保留多長(zhǎng)時(shí)間。
最后一個(gè)是@Documented,這個(gè)表明這個(gè)注解javadoc是記錄的。即如果一個(gè)類型聲明被注釋了文檔化,它的注釋成為公共API的一部分。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
JVM調(diào)優(yōu)參數(shù)的設(shè)置
Java虛擬機(jī)的調(diào)優(yōu)是一個(gè)復(fù)雜而關(guān)鍵的任務(wù),可以通過(guò)多種參數(shù)來(lái)實(shí)現(xiàn),本文就來(lái)介紹一下JVM調(diào)優(yōu)參數(shù)的設(shè)置,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Java 實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲框架詳細(xì)代碼
這篇文章主要介紹了Java 實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲框架,主要是用于爬取網(wǎng)絡(luò)上一些內(nèi)容,比如超鏈接之類的,需要的朋友可以參考下面文章內(nèi)容2021-09-09java實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02java時(shí)間戳轉(zhuǎn)日期格式的實(shí)現(xiàn)代碼
本篇文章是對(duì)java時(shí)間戳轉(zhuǎn)日期格式的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Java 實(shí)戰(zhàn)項(xiàng)目之精品養(yǎng)老院管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+Maven+mybatis+Vue+Mysql實(shí)現(xiàn)一個(gè)精品養(yǎng)老院管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11SpringBoot使用Feign調(diào)用其他服務(wù)接口
這篇文章主要介紹了SpringBoot使用Feign調(diào)用其他服務(wù)接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03SpringBoot使用validation-api實(shí)現(xiàn)對(duì)枚舉類參數(shù)校驗(yàn)的方法
這篇文章主要介紹了SpringBoot使用validation-api實(shí)現(xiàn)對(duì)枚舉類參數(shù)校驗(yàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11