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

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

1:注解的分类

2:元注解说明

3:自定义注解声明

一:注解的分类

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

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

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

如:lombak的@data注解:

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

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

举例: override

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

如:spring 的autowired注解:

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

如下图:

1.3:按照功能来区分:

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

二:元注解说明

2.1:什么是元注解?

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

2.2:@Target

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

target注解作用域有哪些?

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

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)发布的Java注解学习系列教程第二篇。未经允许,不得转载

@data注解的作用_Java中注解学习系列教程-2相关推荐

  1. java中注解的使用_java中注解的使用

    使用过ssh框架的人一定也使用过注解,尤其是在spring框架中,注解可谓是spring容器和AOP编程的重要环节.注解就是用于修饰类.全局变量.方法.参数或局部变量的接口,java中规定,注解的使用 ...

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

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

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

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

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

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

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

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

  6. java注解和反射原理_Java中的注解和反射

    最近又回顾了一下 Java 中的注解和反射知识点,注解在日常开发中使用很多,但是反射比较少.值得注意的是 Java 的各种框架底层源码中大量使用了注解和反射,阅读源码,这些是基本功,面试中这部分内容也 ...

  7. Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用

    Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用 一.概述 在看Spring源码的时候,经常 ...

  8. 生信宝典:生物信息学习系列教程、视频、资源

    生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...

  9. OpenCV学习系列教程第五篇:测试和提高代码的效率

    Opencv-Python学习系列教程第五篇 来自opencv-python官方学习文档,本人谨做翻译和注释,以及一些自己的理解 本文由作者翻译并进行代码验证,转载请注明出处~ 官方文档请参阅:htt ...

最新文章

  1. python基础知识资料-Python基础知识(一)—简介
  2. Bytomd 助记词恢复密钥体验指南
  3. 区块链BaaS云服务(15)复杂美chain33
  4. pytorch卷积可视化_使用Pytorch可视化卷积神经网络
  5. MySQL5.6之Index Condition Pushdown(ICP,索引条件下推)
  6. ASP.NET企业开发框架IsLine FrameWork系列之十一--HttpContentProvider 访问缓存
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的服装商城
  8. MFC初探 —— 基于对话框的MFC显示控制台
  9. Spring Boot AOP 实现日志持久化
  10. TS中的unknown类型
  11. 为什么阿里强制 boolean 类型变量不能使用 is 开头
  12. 架构师接龙 飞信孙朝晖VS.139说客李祎
  13. C语言 —— int32_t uint32_t 及size_t
  14. Bigemap支持百度地图
  15. Cocoa -- 添加和移除开机启动项
  16. ApiPost是什么?
  17. wechat-0052,微信公众号,第三方登录—扫码登录
  18. Java基于局域网(LAN)的聊天室软件-内附源码
  19. ISO22000认证|企业申请ISO22000认证资料自查
  20. OpenWrt下使用iperf测试多跳网络性能

热门文章

  1. 机器学习-集成学习-梯度提升决策树(GBDT)
  2. [转载]sql(hive)中变量的使用
  3. 18000字的SQL优化大全,收藏直接起飞!
  4. 在 SAP BTP 平台 Neo 环境里使用 SAP Cloud SDK 创建应用
  5. SAP云平台开启Kyma功能时发送到后台的HTTP请求
  6. SAP Spartacus自定义Component的Not found问题
  7. SAP Spartacus 最后渲染出的页面和后台 CMS 页面元数据的一一对应
  8. 在Google Cloud platform上的Kubernetes集群部署HANA Express
  9. App in Scala
  10. 使用Java程序通过http post访问ABAP Netweaver服务器