简介 在上一篇文章中,我们讲解了:Java中注解的定义、JDK中内置注解、第三方注解。本文是注解系列教程中的第二篇。来看看今天主要内容:1:注解的分类2:元注解说明3:自定义注解声明一:注解的分类注解根据运行机制、来源、功能来分:1.1:按照运行机制来分,即时注解存在于程序的哪个阶段源码注解(source):在源码中存在的。如:lombak的@data注解:编译注解(class):编译期。既是在源码和c

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

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

1:注解的分类

2:元注解说明

3:自定义注解声明

一:注解的分类

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

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

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

如:lombak的@data注解:

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

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

举例: override

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

如:spring 的autowired注解:


1.2:按照来源来区分,既是注解从哪里来的

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

如下图:

1.3:按照功能来区分:

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

二:元注解说明

2.1:什么是元注解?

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

2.2:@Target

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

target注解作用域有哪些?

构造器、字段、局部变量、方法、包、参数、接口。对于新手小白想更轻松的学好Java提升,Java架构,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,扩列下我尉(同英):CGMX9880 【教程/工具/方法/解疑】
具体如下图:

2.3:@Retention

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

注解生命周期有哪些呢?

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

生命周期大小:

2.4:@Inherited

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

2.5:@Documented

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

三:自定义注解的写法:

@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented()
public @interface MyAnnotation1 {

public abstract String value();

}

Java中注解学习系列教程-2相关推荐

  1. Java中注解学习系列教程-1

    前言: 我们为什么要学习注解? 注解是我们的编程更简洁明了.spring boot的流行也带动了注解.spring boot中就使用了大量的注解来减少配置.我们在使用spring boot开发时候,感 ...

  2. java excel 注解_Java中注解学习系列教程-5 excel导出优化初级阶段

    在上一篇文章中,我们实现了使用自定义注解导出Excel的小案例.但是有问题的.我们发现,如果对象属性中包含了date类型或者使用了枚举类.这个时候就会出问题.我们来看看问题所在: 是不是已经看到了结果 ...

  3. @excel 注解_Java中注解学习系列教程-3

    本文是<Java中注解学习系列教程>第三篇文章 在前两篇中我们学习了注解的定义.JDK内置注解.注解分类及自定义注解的写法. 本文咱们将学习: ​ 1:自定义注解一些说明 2:自定义注解怎 ...

  4. excel导出多重表头utils_Java中注解学习系列教程-4 使用自定义注解实现excel导出...

    本文是<Java中注解学习系列教程>第四篇文章也是小案例文章. 自定义注解小案例是:使用自定义注解实现excel导出. Excel导出分析: ​ 有表头.数据值.一般第一行是表头,从第二行 ...

  5. @data注解的作用_Java中注解学习系列教程-2

    在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解. 本文是注解系列教程中的第二篇.来看看今天主要内容: ​ 1:注解的分类 2:元注解说明 3:自定义注解声明 一:注解的 ...

  6. Java云同桌学习系列(十九)——Linux系统

    本博客java云同桌学习系列,旨在记录本人学习java的过程,并与大家分享,对于想学习java的同学,我希望这个系列能够鼓励大家一同与我学习java,成为"云同桌". 每月预计保持 ...

  7. Java云同桌学习系列(十五)——MySQL数据库

    本博客java云同桌学习系列,旨在记录本人学习java的过程,并与大家分享,对于想学习java的同学,我希望这个系列能够鼓励大家一同与我学习java,成为"云同桌". 每月预计保持 ...

  8. java云同桌学习系列(十四)——JavaScript语言

    本博客java云同桌学习系列,旨在记录本人学习java的过程,并与大家分享,对于想学习java的同学,可以随着我的步伐一起进步,我希望这个系列能够鼓励大家一同与我学习java,成为"云同桌& ...

  9. Java云同桌学习系列(十三)——前端技术之HTML与CSS

    本博客java云同桌学习系列,旨在记录本人学习java的过程,并与大家分享,对于想学习java的同学,可以跟随我的步伐一起学习,我希望这个系列能够鼓励大家一同与我学习java,成为"云同桌& ...

最新文章

  1. Producing Simple Graphs with R
  2. scratch学习_学习scratch编程能学到什么?对孩子有帮助吗?
  3. gets scanf以及缓冲区域的问题
  4. 【prometheus】alertmanager 配置文件示例
  5. c 普通的文本变成注释文本的快捷键_IntelliJ Idea 常用快捷键列表 (2019年总结)
  6. 开源!2019CCF BDCI 乘用车销量预测 冠军方案
  7. 【安全系列之加密算法】常用安全的加密算法
  8. 请教 Discuz syscache 中一段cache 的意思
  9. ADD_SHORTCUT_ACTION
  10. 通过计算机名访问linux
  11. 关于Java锁机制面试官会怎么问,深刻易懂
  12. 操作系统 进程(上)
  13. withRouter有什么用?干嘛用?为啥要用它啊???一分钟理解!
  14. 《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐
  15. 基于正态过程搜索和差分进化算法的改进樽海鞘群算法
  16. mysql主从复制报错:the master has purged binary logs containing GTIDs that the slave requires
  17. 用慧编程做计算机,慧编程人工智能应用, 比个手势就能做算术!
  18. 推荐多款好看的报表图表配色方案(适用于PPT,大屏可视化分析)
  19. 我的世纪佳缘线下的被骗经历。
  20. Node.js中实时显示下载进度并解压文件

热门文章

  1. python实用案例讲解_精心整理!9个 Python 实用案例分享
  2. 输入python出现商店_Win 10 中使用 Python 碰到的奇怪现象
  3. mysql config.path_mysql之 mysql_config_editor/login-path 登录密码保护
  4. typedef有什么用_我是怎么用C++恰饭吃的
  5. python比较列表所有字符串_python – 将字符串与数组中的所有值进行比较
  6. python属于私有属性_Python私有属性和受保护的属性原理解析
  7. Linux用命令获取广域网(公网)IP地址
  8. linux打开二进制文件后终端乱码处理
  9. JAVA jlist 获取选定,java - 拆分并将选定的jList值移动到jTable行(SWING) - 堆栈内存溢出...
  10. oracle半角全椒_Oracle全角和半角处理函数