java 注解(annotation)基础学习
元注解--------@Tatget @inherited @Retention @Documented
@Retention:这个注解注在其他注解上,并用来说明如何存储已被标记的注解。用来标记注解并提供注解的信息。可能 的值是:
- SOURCE: 表明这个注解会被编译器忽略,并只会保留在源代码中。
- CLASS: 表明这个注解会通过编译驻留在CLASS文件,但会被JVM在运行时忽略,正因为如此,其在运行时不可见。
- RUNTIME:表示这个注解会被JVM获取,并在运行时通过反射获取。
@Target:这个注解用于限制某个元素可以被注解的类型。例如:
ANNOTATION_TYPE --------------表示该注解可以应用到其他注解上
CONSTRUCTOR -------------------表示可以使用到构造器上FIELD 表示可以使用到域或属性上
LOCAL_VARIABLE-----------------表示可以使用到局部变量上。
METHOD---------------------------可以使用到方法级别的注解上。
PACKAGE--------------------------可以使用到包声明上。
PARAMETER-----------------------可以使用到方法的参数上
TYPE-------------------------------可以使用到一个类的任何元素上
@Documented:被注解的元素将会作为Javadoc产生的文档中的内容。注解都默认不会成为成为文档中的内容。这个注解可以对其它注 解使用。
@Inherited:在默认情况下,注解不会被子类继承。被此注解标记的注解会被所有子类继承。这个注解可以对类使用。
经常用到的一些注解:
- @Override:向编译器说明被注解元素是重写的父类的一个元素。在重写父类元素的时候此注解并非强制性的,不过可以在重写错误时帮助编译器产生错误以提醒我们。比如子类方法的参数和父类不匹配,或返回值类型不同。
- @Repeatable:说明该注解标识的注解可以多次使用到同一个元素的声明上。
- @Test:这个注解向JUnit说明这个被注解的方法一定是一个可执行的测试方法。这个注解只能标识在方法上,并且被JVM保留至运行时。
- @Before:这个注解用来向JUnit说明被标记的方法应该在所有测试方法之前被执行。这对于在测试之前设置测试环境和初始化非常有用。同样只适用于方法上:
- @After:这个注解用来向JUnit说明被注解的方法应该在所有单元测试之后执行。这个注解通常用来销毁资源,关闭,释放资源或者清理,重置等工作。
- @Ignore:这个方法用来向JUnit说明被注解的方法应该不被当作测试单元执行。即使它被注解成为一个测试方法,也只能被忽略。
- @Component:说明被标记的元素,在本例中是一个类,是一个自动检测的目标。这意味着被注解的类,将会被Spring容器实例化并管理。
- @Autowired:Spring容器将会尝试通过类型(这是一种元素匹配机制)使用这个set方法来自动装配。此注解也可以使用在构造器和属性上,Spring也会根据注解的地方不同采取不同的操作。
- @FixMethodOrder:指定执行的顺序,正常情况下Junit处理程序负责它按照完全随机的无法预知的顺序执行。当所有的测试方法都相互独立的时候,不推荐使用这个注解。但是,当测试的场景需要测试方法按照一定规则的时候,这个注解就派上用场了。
@Deprecated:说明被标记的元素不应该再度使用。这个注解会让编译器产生警告消息。可以使用到方法,类和域上。相应的解释和 原 因,包括另一个可取代的方法应该同时和这个注解使用。
@SuppressWarnings:说明编译器不会针对指定的一个或多个原因产生警告。
@FunctionalInterface:这个注解表示一个函数式接口元素。函数式接口是一种只有一个抽象方法(非默认)的接口。编译器会检查被注解元素,如果不符,就会产生错误。
转载于:https://www.cnblogs.com/Zhong-Xin/p/5359807.html
java 注解(annotation)基础学习相关推荐
- 深入理解Java注解Annotation之注解处理器
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处 ...
- Java注解(Annotation)详解
转: Java注解(Annotation)详解 幻海流心 2018.05.23 15:20 字数 1775 阅读 380评论 0喜欢 1 Java注解(Annotation)详解 1.Annotati ...
- java线程之基础学习
java线程之基础学习总结 线程实现的两种方式: 在java中可以有两种方式实现多线程操作,一种是继承Thread类,另外一种是实现Runnable接口. 继承Thread类 Thread类是在jav ...
- Java注解Annotation 完成验证
Java注解Annotation用起来很方便,也越来越流行,由于其简单.简练且易于使用等特点,很多开发工具都提供了注解功能,不好的地方就是代码入侵比较严重,所以使用的时候要有一定的选择性. 这篇文章将 ...
- java注释和注解_深入理解JAVA注解(Annotation)以及自定义注解
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制.Java 语言中的类.方法.变量.参数和包等都可以被标注.注解可以看作是一种特殊的标记,在程序在编译或 ...
- java 注解: Annotation
java 注解: Annotation 普通注解 自定义注解 元注解 注解: 位于源码中,用来修饰程序的元素,但不会对被修饰的对象有直接的影响. 可增加程序的动态性. 普通注解 普通注解:为java代 ...
- Java注解annotation invalid type of annotation member
文章目录 Java注解annotation : invalid type of annotation member 1.什么是invalid type of annotation member 2.哪 ...
- Java 注解(Annotation)使用方法归纳
Java注解Annotation使用方法归纳 简介 注解是从JDK5开始支持,是Java对元数据的一种特殊支持.与注释有一定区别,可以理解为代码上的特殊标记,通过这些标记我们可以在编译,类加载,运行等 ...
- 深入JAVA注解(Annotation):自定义注解
一.基础知识:元注解 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解 ...
最新文章
- matlab--微积分与微分方程
- 数论基础之快速幂(详细教程)
- python tfidf特征变换_Python机器学习之“特征工程”
- 如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应
- MSN消息提示类(II)
- php 连接主从redis,PHP7对Redis的扩展及Redis主从搭建
- [bzoj1009](HNOI2008)GT考试 (kmp+矩阵快速幂加速递推)
- mysql 转ascii_MySQL ascll()函数
- db2 c语言,DB2数据库安全(二)——身份认证
- dpdk Ipv4组包逻辑解析
- Linux系统centos下如何通过命令查看CPU内存存储等硬件信息?
- 5个物联网商业案例及其带给我们的启示
- opencv 眼部模糊
- 照片怎么无损放大尺寸,三种方法无损放大照片
- 多种内网穿透工具的比较
- ​创新型中小企业评价标准
- 2016-年蓝桥杯C-(A组)赛题-网友年龄
- 什么是高防CDN防护
- 新版Qq为什么不受欢迎?
- elementui 限制输入字数
热门文章
- 深度优先遍历和广度优先遍历_图与深度优先搜索和广度优先搜索
- 95-25-010-命令-topic 创建过程
- 【Elasticsearch】es 使用Rollup在Elasticsearch 6.3中合并旧日志 上卷 Rollup
- 【elasticsearch】elasticsearch 7 index.lifecycle.rollover_alias does not point to index
- 【Linux】Linux Systemd 启动守护进程
- 【Flink】Flink 报错 exited with a non-zero exit code 1
- Mvn : Maven的依赖管理 依赖冲突 解决思路
- 【Linux】linux系统很卡排除
- 从性能方面选择for,map和forEach
- 云计算实战系列十四(MySQL基础)