读书笔记之 java中的标准注解

java面试题网站:www.javaoffers.com
java给我们提供了一些标准的注解,在这里做一下统计。

注解名词应用场合目的
Deprecated全部将目标标记为过时的
SuppressWarnings除了包和注解之外的所有情况阻止某个给定的类型的警告信息
Override方法检查该方法是否覆盖了某一个超类的方法
PostConstruct方法被标记的方法应该在构造之后立即被调用
PreDestroy方法被标记的方法应该在移除之前立即被调用
Resource类,接口,方法,域(FIELD)在类或接口上:标记为在其他地方要用到的资源。在方法或域上:标记为‘注入’
Resiurces类,接口一个资源数组
Generated全部目的是供代码生成工具来使用
Target注解指明可以应用这个注解的那些项
Retention注解指明这个注解可以保留多久
Documented注解指明这个注解应该包含在注解项的文档中
Inherited注解指明这个注解应用于一个类的时候,能够自动被他的子类继承

标准注解的分类:

1. 用于编译的注解

@Deprecated:注解可以添加到任何不再鼓励使用的目标。所以,当你使用一个过时的目标时,编译器会发出警告。
 @Override:这个注解只能应用到方法上,编译器会检查具有这种注解的方法是否真正覆盖了一个来自于超类的方法。
 @Generated: 注解的目的是提供代码生成工具来使用。任何生成的源代码都可以被注解,从而与程序员提供的代码区分开。

2. 用于管理资源的注解

@PostConstruct 和 @PreDestroy注解用于控制对象生命周期的环境中,例如Web容器和应用服务器,标记了这些注解的方法应该在对象被构建之后或移除之前紧接着调用。
 @Resource注解用于资源注入。用于web容器环境。(和spring框架中的@Autowired功能类似)

3.元注解

@Target 元注解可以应用于一个注解,以限制该注解可以应用到那些目标上。

元素类型注解适用场合
ANNOTATION_TYPE注解类型声明(用于注解类上)
PACKAGE
TYPE类(包括enum)及接口(包括注解类型)
METHOD方法
CONSTRUCTOR构造器
FIELD成员变量(包括enum常量)
PARAMETER方法或构造器参数
LOCAL_VARIABLE局部变量
TYPE_PARAMETER类参数声明,例如AnnoTest<@AnnoStu T>,@AnnoStu注解被TYPE_PARAMETER修饰,@since 1.8
TYPE_USE和Type功能一样,@since 1.8

@Retention 元注解用于指定一条注解的保留规则(生命周期)。

保留规则描述
SOURCE不包括在类文件中的注解
CLASS包括在类文件中的注解,但虚拟机不需要将他们载入(默认值)
RUNTIME包括在类文件中的注解,并由虚拟机载入,通过反射API可获得他们

@Documented元注解为像Javadoc这样的归档工具提供一些提示。

@Inherited 元注解只能用于对类的注解,如果一个类具有继承注解,那么他的所有子类都自动具有同样的注解

参考资料:java核心技术 卷二(高级特性) ->第10章->标准注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值