java Annotation笔记整理

本文深入探讨Java注解的概念,解释其作为元数据的作用,并介绍Java内置注解如@Override、@Deprecated和@ SuppressWarnings的用途。此外,还讲解了自定义注解的方法,包括@Target、@Retention等元注解的应用,以及注解元素的有效类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看过好多的材料,对注解的定义大多数都称它为元数据,或者详细点是在代码中添加信息提供的一种形式化方法,使我们可在之后非常方便的使用这些元数据。

这里面提到了一些非常有意思的东西:

1.注解是一种形式化的方法,实际中必须要多个地方可以使用它。如果有且仅有一次,估计连定义注解的人都会考虑是不是应该删除掉它了。

2.元数据,元表示单元的意思,它表示一个基本的单位。它表示注解需要提供一种单元程序的处理。

3.当我们调用元数据的时候,一定是调用的某个单元程序的一整套处理。除非调用出了问题,中途退出。


Java本身内置了三种注解,大家可能都遇到过:

1.@Override :表示当前方法定义会覆盖超类的方法定义

2.@Deprecated : 表示当前的方法已经废弃或不建议使用的,但关闭编译器的警告信息

3.@SuppressWarnings : 关闭不当的编译器警告信息


当我们自己定义注解进行使用的时候,需要了解下面的这些说明:

@Target标示该注解可以用于神门地方。可能的ElementType参数包括:
CONSTRUCTOR:构造器的声明
FIELD:域声明(包括enum实例)
LOCAL_VARIABLE:局部变量声明
METHOD:方法声明
PACKAGE:包声明
PARAMETER:参数声明
TYPE:类、接口包括注解类型和enum声明
@Retention标示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
SOURCE:注解将被编译器丢弃
CLASS:注解在class文件中可用,但会被VM丢弃
RUNTIME:VM将在运行期也保留注解,因此可以通过反射机制读取注解信息
@Documented将此注解包含在javadoc中
@Inherited允许子类继承父类中的注解

通过这些说明,我们可以知道spring提供的注解大概会是什么样子。


注解元素的说明

注解元素的可用类型如下:

1.所有基本类型(int, float, boolean等)

2.String 

3.Class

4.enum

5.Annotation

6.以上类型的数组

注意:超出上面的类型范围会报错,也不允许使用任何包装类型。定义的元素默认值不能以null作为默认值。

同时注解也不接受继承的。


什么时候可以使用注解来解决问题呢?

回答:首先,需要有一套处理程序,但是处理程序只需要更改参数值或者注入方法就可以完成整套流程。

             参考的例子:get请求处理,request请求处理,数据库查询处理

            其次:是这种处理的使用频度较高。如果只是使用一次,放弃它吧。


注解的自定义语法请参考其他资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值