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

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

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

0e5bfb282785e6d50be398c29a4d9267.png

1:注解的分类

2:元注解说明

3:自定义注解声明

一:注解的分类

c03d16d65e241c90e669f077a650bb64.png

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

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

e0c7d7da2e69a56219d73cd8be1c4454.png

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

如:lombak的@data注解:

5bea68c9466087e5e29d6a07d6243893.png

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

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

举例: override

0362f1164684a55d250ef62a5774a78a.png

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

如:spring 的autowired注解:

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

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

如下图:

e53b73770958773c2e330afeeb8c1007.png

1.3:按照功能来区分:

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

afafe3546c589b9575096a6827d8b692.png

二:元注解说明

2.1:什么是元注解?

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

7ac1431ceef05b2463a25ba3da4a9cd7.png

2.2:@Target

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

target注解作用域有哪些?

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

f04c44ad40c7473701ac705c2bbfd82d.png

e6e365e0dbc15a00bebd6df6df9def1a.png

2.3:@Retention

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

注解生命周期有哪些呢?

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

b19e1e745582b64fb7031b7e68f3e3c3.png

生命周期大小:

4dc0e0c220fc15304fe3ab2bb5460028.png

2.4:@Inherited

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

de34f5ca04abc46443777f3f189cce47.png

2.5:@Documented

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

cbb4bfcc5975de05f4f84e3ebd1f28b6.png

三:自定义注解的写法:

@Target({ElementType.METHOD, ElementType.FIELD})br/>@Retention(RetentionPolicy.RUNTIME)
@Inheritedbr/>@Documented()
public @interface MyAnnotation1 {

public abstract String value();

}
9c58e2d4fa3ef4e29cf4a65c78ab272d.png

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

本文出处:http://www.kaigejava.com/article/detail/440

凯哥博客:www.kaigejava.com

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

原文地址:https://blog.51cto.com/kaigejava/2416056

时间: 2024-08-06 00:55:31

Java中注解学习系列教程-2的相关文章

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

前言: 我们为什么要学习注解? 注解是我们的编程更简洁明了.spring boot的流行也带动了注解.spring boot中就使用了大量的注解来减少配置.我们在使用spring boot开发时候,感觉很简洁.这个就是注解的功劳.注解开发也是一种趋势.所以,我们还是很有必要学学注解的. 来看看<凯哥Java-注解>系列主要内容 9c7b894d2669b3973083af9ab2b0c672.png 本文主要讲解前三个:注解定义.JDK内置注解.第三方注解. 一:注解定义 来看看百科上怎么说的

Python爬虫学习系列教程

Python爬虫学习系列教程 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库

基于TensorFlow的深度学习系列教程 2——常量Constant

前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hello World! 常量的概念 在tensorflow中,数据分为几种类型: 常量Constant.变量Variable.占位符Placeholder.其中: 常量:用于存储一些不变的数值,在计算图创建的时候,调用初始化方法时,直接保存在计算图中 变量:模型训练的参数,比如全连接里面的W和bias 占

java中反射学习整理

转载请注明:http://blog.csdn.net/j903829182/article/details/38405735 反射主要是指程序可以访问,检测和修改它本身的状态或行为的一种能力. java中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装载,无须在组件之间进行链接.反射允许在编写与执行时,使程序能够接入到jvm中的类的内部信息,而不是源代码中选定的类协作的代码.这使反射成为构建灵活应用代码的主要工具.需要注意的是,如果使用不当,反射的成本会很高. package

Java中注解

Java中Annotation其实就是代码里的特殊标记,它可以用来代替配置文件 自定义注解的步骤: 1.编写注解类: 使用@interface 定义 package cn.cqu.huang; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.

java中注解的使用方法

java中注解用"@"表示,注解的常用功能有三个: 1.生成文档.这是最常见的,也是java 最早提供的注解. 2.跟踪代码依赖性,实现替代配置文件功能. 3.在编译时进行格式检查. 一.生成javadoc javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了. javadoc命令是用来生成自己API文档

沉淀再出发:java中注解的本质和使用

沉淀再出发:java中注解的本质和使用 一.前言 以前XML是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,XML的内容也越来越复杂,维护成本变高.于是就有人提出来一种标记式高耦合的配置方式——注解.方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正几乎需要配置的地方都可以进行注解.关于注解和XML两种不同的配置模式,争论了好多年了,各有各的优劣,注解可以提供更大的便捷性,易于维护修改,但耦合度高,而XML相对于注解则是相反的.追求低耦合就要抛

java中注解的使用与实例 (二)

java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种: 生成文档.这是最常见的,也是java 最早提供的注解.常用的有@see @param @return 等 跟踪代码依赖性,实现替代配置文件功能.比较常见的是spring 2.5 开始的基于注解配置.作用就是减少配置.现在的框架基本都使用了这种配置来减

【转】java中注解的使用与实例

原文:http://www.cnblogs.com/pepcod/archive/2013/02/20/2918719.html java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种: 生成文档.这是最常见的,也是java 最早提供的注解.常用的有@see @param @return 等 跟踪代码依赖性