一尘不染

Java中如何在哪里使用注释?

java

我们可以使用注释的主要领域是什么?该功能是否可以替代基于XML的配置?


阅读 548

收藏
2020-03-20

共1个答案

一尘不染

注释是元元对象,可用于描述其他元对象。元对象是类,字段和方法。向一个对象询问其元对象(例如anObj.getClass())称为自省。内省可以走得更远,我们可以问一个元对象其注释是什么(例如aClass.getAnnotations)。内省和注释属于所谓的反射和元编程。

注释需要以一种或另一种方式解释才有用。注释可以在开发时由IDE或编译器解释,也可以在运行时由框架解释。

注释处理是一种非常强大的机制,可以通过多种不同方式使用:

  • 描述元素的约束或用法:例如@Deprecated, @Override@NotNull
  • 描述元素的“性质”,例如 @Entity, @TestCase, @WebService
  • 描述元素的行为: @Statefull, @Transaction
  • 描述如何处理元素: @Column, @XmlElement

在所有情况下,都使用注释来描述元素并阐明其含义。

在JDK5之前,现在需要将用注释表示的信息存储在其他位置,并且XML文件经常被使用。但是使用注释更方便,因为它们将属于Java代码本身,因此比XML更容易操作。

注释的用法:

  • 文档,例如XDoclet
  • 汇编
  • 集成开发环境
  • 测试框架,例如JUnit
  • IoC容器,例如Spring
  • 序列化,例如XML
  • 面向方面的编程(AOP),例如Spring AOP
  • 应用程序服务器,例如EJB容器,Web服务
  • 对象关系映射(ORM),例如Hibernate,JPA
  • 还有很多…
    …例如看一下Lombok项目,该项目使用批注定义了生成方法equalshashCode方法。
2020-03-20