凯哥 java_首页_凯哥Java - java基础;spring boot学习;微服务;Java教程;Java web;kaigejava;凯哥Java - 凯哥Java...

在上一篇文章中,我们讲解了:Java中注解的定义、JDK中内置注解、第三方注解。

本文是注解系列教程中的第二篇。来看看今天主要内容:

76ab1c25b18f77bc18fbad69ca93942d.png

1:注解的分类

2:元注解说明

3:自定义注解声明

一:注解的分类

0b34c5bbb5f786b2793ba068b4c4f3c5.png

注解根据运行机制、来源、功能来分:

1.1:按照运行机制来分,即时注解存在于程序的哪个阶段

7636cea1c74b4c5e4bf73a94b5a2344d.png

源码注解(source):在源码中存在的。

如:lombak的@data注解:

36f3d007f57a208addf42b6b3a6ace3a.png

编译注解(class):编译期。既是在源码和class中都有的。

JDK自带的三个注解(@Override(重写、覆盖)、@Deprecated(废弃的,过时的)、@Suppvisewarnings(压缩警告))都是编译期的注解

举例: override

8185dfaadf5cd530f163e89170fc4c83.png

运行是注解(runtime):在运行阶段任然起作用的,甚至会影响运行逻辑。

如:spring 的autowired注解:

097fa3ec039cb7c87cce6403c90bda91.png1.2:按照来源来区分,既是注解从哪里来的

按照来源来区分分为:JDK自带的注解、第三方注解、自定义注解

如下图:

fd49444b2bb7971159bd95485e4fb048.png

1.3:按照功能来区分:

按照功能来区分,可以分为:元注解和非元注解。如下图:

0868d0b3431bb623aa86a4ba928a0911.png

二:元注解说明

2.1:什么是元注解?

元注解是指注解的注解。JAVA中元注解主要包括以下四个:

c79d26f0b28ffd8778eb341387911caf.png

2.2:@Target

target注解的作用:标注注解的作用域。如果有多个作用域用英文逗号进行分割

target注解作用域有哪些?

构造器、字段、局部变量、方法、包、参数、接口。具体如下图:

25ccb5c3df034b00c16572c19e4d3443.png

55d4a9a2142f293ff6f4cb7aeb29f9a6.png

2.3:@Retention

retention的作用:注解的生命周期。

注解生命周期有哪些呢?

只在源码显示的souce、编译期的class、运行时候存在的runtime。如下图:

2b57f3a763dc18d438f8bb60cb04494a.png

生命周期大小:

2f156031fa7b3d175ef3a31ac57546aa.png

2.4:@Inherited

inherite:标识性的元注解。标识当前的注解可以由子注解继承

075ac920a99563d518b8a6cbd3336f39.png

2.5:@Documented

documented:在生成文档的时候,会被包含

1e105e1b71e726e786686deac4c9b624.png

三:自定义注解的写法:@Target({ElementType.METHOD, ElementType.FIELD})

@Retention(RetentionPolicy.RUNTIME)

@Inherited

@Documented()

public @interface MyAnnotation1 {

public abstract String value();

}

356551ad79a4e5607e978d620a5fa0e6.png

声明:本文是由凯哥(凯哥Java)发布的Java注解学习系列教程第二篇。未经允许,不得转载

凯哥公众号:凯哥Java(kaigejava)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值