jdk1.5起開始提供了4個元注解,用來定義自定義注解的注解,它們分別是:
@Target
指定注解使用的目標范圍(類、方法、字段等),其參考值見類的定義:java.lang.annotation.ElementType
@Documented
指定被標注的注解會包含在javadoc中。
@Retention
指定注解的生命周期(源碼、class文件、運行時),其參考值見類的定義:java.lang.annotation.RetentionPolicy
@Inherited
指定子類可以繼承父類的注解,只能是類上的注解,方法和字段的注解不能繼承。即如果父類上的注解是@Inherited修飾的就能被子類繼承。
jdk1.8又提供了以下兩個元注解
@Native
指定字段是一個常量,其值引用native code。
@Repeatable
注解上可以使用重復注解,即可以在一個地方可以重復使用同一個注解,像spring中的包掃描注解就使用了這個。
所有元注解定義在java.lang.annotation包下面
其中Annotation是注解的基本接口,所有的注解都繼承這個接口。
看下@Autowired注解的實現
其實就是繼承了Annotation接口。
了解了jdk對注解的定義,所以想要自定義一個注解就以@interface開始吧。
推薦去我的博客閱讀更多:
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
覺得不錯,別忘了點贊+轉發哦!