@data注解的作用_Java中注解学习系列教程-2
在上一篇文章中,我们讲解了: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相关推荐
- java中注解的使用_java中注解的使用
使用过ssh框架的人一定也使用过注解,尤其是在spring框架中,注解可谓是spring容器和AOP编程的重要环节.注解就是用于修饰类.全局变量.方法.参数或局部变量的接口,java中规定,注解的使用 ...
- @excel 注解_Java中注解学习系列教程-3
本文是<Java中注解学习系列教程>第三篇文章 在前两篇中我们学习了注解的定义.JDK内置注解.注解分类及自定义注解的写法. 本文咱们将学习: 1:自定义注解一些说明 2:自定义注解怎 ...
- java excel 注解_Java中注解学习系列教程-5 excel导出优化初级阶段
在上一篇文章中,我们实现了使用自定义注解导出Excel的小案例.但是有问题的.我们发现,如果对象属性中包含了date类型或者使用了枚举类.这个时候就会出问题.我们来看看问题所在: 是不是已经看到了结果 ...
- Java中注解学习系列教程-2
简介 在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解.本文是注解系列教程中的第二篇.来看看今天主要内容:1:注解的分类2:元注解说明3:自定义注解声明一:注解的分类注解 ...
- excel导出多重表头utils_Java中注解学习系列教程-4 使用自定义注解实现excel导出...
本文是<Java中注解学习系列教程>第四篇文章也是小案例文章. 自定义注解小案例是:使用自定义注解实现excel导出. Excel导出分析: 有表头.数据值.一般第一行是表头,从第二行 ...
- java注解和反射原理_Java中的注解和反射
最近又回顾了一下 Java 中的注解和反射知识点,注解在日常开发中使用很多,但是反射比较少.值得注意的是 Java 的各种框架底层源码中大量使用了注解和反射,阅读源码,这些是基本功,面试中这部分内容也 ...
- Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用
Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用 一.概述 在看Spring源码的时候,经常 ...
- 生信宝典:生物信息学习系列教程、视频、资源
生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...
- OpenCV学习系列教程第五篇:测试和提高代码的效率
Opencv-Python学习系列教程第五篇 来自opencv-python官方学习文档,本人谨做翻译和注释,以及一些自己的理解 本文由作者翻译并进行代码验证,转载请注明出处~ 官方文档请参阅:htt ...
最新文章
- python基础知识资料-Python基础知识(一)—简介
- Bytomd 助记词恢复密钥体验指南
- 区块链BaaS云服务(15)复杂美chain33
- pytorch卷积可视化_使用Pytorch可视化卷积神经网络
- MySQL5.6之Index Condition Pushdown(ICP,索引条件下推)
- ASP.NET企业开发框架IsLine FrameWork系列之十一--HttpContentProvider 访问缓存
- 基于JAVA+SpringMVC+Mybatis+MYSQL的服装商城
- MFC初探 —— 基于对话框的MFC显示控制台
- Spring Boot AOP 实现日志持久化
- TS中的unknown类型
- 为什么阿里强制 boolean 类型变量不能使用 is 开头
- 架构师接龙 飞信孙朝晖VS.139说客李祎
- C语言 —— int32_t uint32_t 及size_t
- Bigemap支持百度地图
- Cocoa -- 添加和移除开机启动项
- ApiPost是什么?
- wechat-0052,微信公众号,第三方登录—扫码登录
- Java基于局域网(LAN)的聊天室软件-内附源码
- ISO22000认证|企业申请ISO22000认证资料自查
- OpenWrt下使用iperf测试多跳网络性能
热门文章
- 机器学习-集成学习-梯度提升决策树(GBDT)
- [转载]sql(hive)中变量的使用
- 18000字的SQL优化大全,收藏直接起飞!
- 在 SAP BTP 平台 Neo 环境里使用 SAP Cloud SDK 创建应用
- SAP云平台开启Kyma功能时发送到后台的HTTP请求
- SAP Spartacus自定义Component的Not found问题
- SAP Spartacus 最后渲染出的页面和后台 CMS 页面元数据的一一对应
- 在Google Cloud platform上的Kubernetes集群部署HANA Express
- App in Scala
- 使用Java程序通过http post访问ABAP Netweaver服务器