標籤:document key provider update 部分 定義 method 第三方 author
Java中常見的註解
1、JDK內建的註解@Override @Deprecated @Suppvisewarnings
常見第三方註解
Spring:@Autowired @Service @Repository
Mybatis:@InsertProvider @UpdateProvider @Options
註解的分類:
依照執行機制分:
原始碼註解:註解僅僅在原始碼中存在,編譯成.class檔案就不存在了;
編譯時間註解:註解在原始碼和.class檔案裡都存在(JDK內建的三個註解(@Override @Deprecated @Suppvisewarnings)屬於編譯時間註解,僅僅在編譯時間起作用)
執行時註解:在執行階段還起作用。甚至會影響執行邏輯的註解(@Autowired)
依照來源分:
來自JDK內建的註解
第三方註解
我們自己定義的註解
源註解:註解的註解
package com.ann.自己定義註解;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)//註解生命週期:SOURCE CLASS RUNTIME@Inherited//(標識性的原註解)同意子類繼承@Documented//產生javadoc時會包括註解//使用@integrfacekeyword定義註解,表示定義的不是類也不介面public @interface Description {//成員以無參數無異常方式聲明//成員類型是受限的,合法的類型包括原始類型以及String Class Annotation Enumeration//大部分自己定義的註解用原始類型和String就足夠了//假設註解僅僅有一個成員,則成員名必須取名為value(),在使用時能夠忽略成員名和賦值號(=)//註解類能夠沒有成員。沒有成員的註解稱為標識註解String desc();String author();int age() default 18;//能夠用default為成員制定一個預設值}
Java中常見的註解