主页 > 新闻资讯 > 大数据开发基础之JAVA注解概念及使用

大数据开发基础之JAVA注解概念及使用

作者:游老师 浏览次数: 2021-03-23 13:54
今天给大家带来的是JAVA web最后一篇大数据开发基础之JAVA注解概念及使用,这一篇过后JAVA web这一节就结束了,JAVA web是知识点比较少,但是也是需要好好理解的。注解我们在之前的篇章里也有提到过,了解得不够深入,这一次就对注解做精细解读。
一、注解
注解就是Java提供了一种元程序中的元素关系任何信息和任何元数据(metadata)的途径和方法。注解是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象,然后通过Annotation对象来获取注解里面的元数据。
注解是JDK5.0及以后版本引入的,它可以用于创建文档,跟踪代码中的依赖性,以及执行基本编译时的检查。这些信息被存储在Annotation的”name=value”结构对中。被注解的代码并不会直接被注解影响,而是会向第三方系统提供关于自己的信息(Spring的注解会在程序运行时,由Spring容器进行控制)。注解本身没有任何的逻辑,不会影响被注解的代码,所以它只有对它的”消费器”才具有实际的意义。
Java自带的注解(元注解)会被JVM所消费,而其他的,Spring中的Controller注解,则会被Spring容器所消费。也有这样一种理解,从某种角度上来说,可以把注解看做是XML元素,该元素可以有预定义属性,属性值可以在声明元素时定义。
Annotation的成员在Annotation类型中以无参数的方法的形式被声明。其方法名和返回值定义了该成员的名字和类型。在此有一个特定的默认语法:允许声明任何Annotation成员的默认值:一个Annotation可以将name=value对作为没有定义默认值的Annotation成员值,当然也可以使用name=value对来覆盖其它成员默认值。这一点有些近似类的继承特性,父类的构造函数可以作为子类的默认构造函数,但是也可以被子类覆盖。
Annotation能被用来为某个程序元素(类、方法、成员变量等)关联任何的信息。需要注意的是,这里存在着一个基本原则:Annotation不能影响程序代码的执行,无论增加、删除Annotation,代码都始终如一的执行。
二、注解类型
根据注解参数的个数,我们可以将注解分为三类:
1.标记注解:一个没有成员定义的Annotation类型被称为标记注解。这种Annotation类型被称为标记注解。这种Annotation类型仅使用自身的存在与否来为我们提供信息。比如后面的系统注解@Override
2.单值注解
3.完整注解
根据注解使用方法和用途,我们可以将Annotation分为三类:
1. JDK内置系统注解
2. 元注解
3. 自定义注解
系统内置标准注解:注解的语法比较简单,除了@符号的使用外,他基本与Java固有的语法一致,JavaSE中内置三个标准注解,定义在java.lang中:
1.@Override:用于修饰此方法覆盖了父类的方法;
2. @Deprecated:用于修饰已经过时的方法;
3. @SuppressWarnnings:用于通知java编译器禁止特定的编译警告。
三、元注解
元注解种类:
@Target:用于描述注解的使用范围,限定了注解作用的目标范围,包括累、方法等
@Retention:表示需要在什么级别保存该注解信息,用于描述注解的生命周期,SOURCE < CLASS < RUNTIME
@Document:说明该注解将被包含在javadoc中
@Inherited:说明子类可以继承父类中的该注解
元注解作用:
负责注解其他注解,Java定义了4个标准的meta-annotation类型,它们被用来提供对其他annotation类型作说明
 
四、自定义注解
自定义注解的方式:使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口
@interface:用来声明一个注解,格式:public @interface 注解名{ 定义内容 }
其中的每一个方法实际上是声明了一个配置参数
方法的名称就是参数的名称
返回值类型就是参数的类型(返回值只能是基本类型,Class, String, enum)
可以通过default来声明参数的默认值
如果只有一个参数成员,一般参数名为value
注解元素必须要有值,我们定义注解元素时,经常使用空字符串,0作为默认值
五、注解使用
注解语法:
@<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值2>,…)
@作为前缀,用于向编译器表示这是一个注解元素;
<注解名>为必须存在的,表示该注解的名称
注解的值可以有多种情况:不指定成员值;指定一个成员值(或只有一个成员值)其他采用默认值;键值对指定成员值
 
以上就是本篇文章大数据开发基础之JAVA注解概念及使用的所有内容了,关于JAVA web的知识到此也就说完了,明天将会带来新的章节内容。
希望大家点个关注,及时收取最新文章推送。
有问题的欢迎在评论区留言,如有侵权请告知。
热点排行
推荐文章
立即申请>>