很多 Annotation 都是为了取代代码中传统的注释。
例如,假设你编写的代码中有下面这段注释:
public class Generation3List extends Generation2List {
// Author: John Doe
// Date: 3/17/2002
// Current revision: 6
// Last modified: 4/12/2004
// By: Jane Doe
// Reviewers: Alice, Bill, Cindy
// class code goes here
}
要使用 Annotation 来取代传统的注释,首先需要定义一个 Annotation 类型。语法如下:
@interface ClassPreamble {
String author();
String date();
int currentRevision() default 1;
String lastModified() default "N/A";
String lastModifiedBy() default "N/A";
// Note use of array
String[] reviewers();
}
定义 Annotation 类型的语法看起来很像定义接口的语法,不过在 interface 关键字前面加了一个 @ 符号。
在上面这个例子中还定义了 Annotation 的元素,定义元素的语法看起来很像定义方法的语法,每个元素都可以使用 default 关键字来定义默认值。
上面的 Annotation 定义之后,你就可以使用它了,并且可以给它的元素赋值,例如:
@ClassPreamble (
author = "John Doe",
date = "3/17/2002",
currentRevision = 6,
lastModified = "4/12/2004",
lastModifiedBy = "Jane Doe",
// Note array notation
reviewers = {"Alice", "Bob", "Cindy"}
)
public class Generation3List extends Generation2List {
// class code goes here
}
注意:如果要让 @ClassPreamble 出现在 Javadoc-generated 生成的文档中,那么需要给它加上 @Documented 注释:
// import this to use @Documented
import java.lang.annotation.*;
@Documented
@interface ClassPreamble {
// Annotation element definitions
}
文章来源:
http://www.aptusource.org/2014/03/declaring-an-annotation/
分享到:
相关推荐
在服务层,我们将使用 `@Transactional` 注解来声明方法需要在事务中执行。这样,Spring 将自动管理事务的开始、提交或回滚。同时,我们可以通过 `SessionFactory` 创建的 `Session` 对象,或者利用 Spring Data JPA...
当子类的方法声明使用此注释时,编译器将检查是否有对应的超类方法可以重写,如果没有,则会产生编译错误。 ##### 2.3 `@Deprecated`注释 `@Deprecated`注释用于标记那些不推荐使用的方法或类,表明它们可能在未来...
"get-annotation"就是一个这样的库,专门用于从源代码中解析注释字段。这个库的核心作用在于提取代码中的注释信息,这对于文档自动生成、代码分析和测试等场景十分有用。 在JavaScript或TypeScript等编程语言中,...
### Spring基于注释(Annotation)的配置 #### 一、`@Autowired` 注释 `@Autowired` 是Spring框架提供的一种自动装配机制,用于简化Bean的依赖注入过程。该注解可以应用于类成员变量、方法及构造函数,帮助实现按...
Annotation不同于传统的注释,它们不仅仅是给人阅读的,而是可以被编译器和JVM理解并执行相应操作的。 系统内置的Annotation有三种主要类型: 1. `@Override`:这个Annotation用来标记一个方法,表明该方法是要...
### Java Annotation 概述与应用 #### 一、Java Annotation 的定义及作用 Java Annotation(注解)是自 Java 5.0 开始引入的一种语言元素,它为开发者提供了在代码中添加元数据的能力。简单来说,注解就像是对代码...
借助新的 Hibernate Annotation 库,即可一次性地分配所有旧映射文件,一切都会按照您的想法来定义——注释直接嵌入到您的 Java 类中,并提供一种强大及灵活的方法来声明持久性映射。 Hibernate Annotation 的优点...
Annotation可以应用于包、类、方法、字段、参数和局部变量声明中,通常以"@"符号开头,后面跟着Annotation的类型名称。例如,`@Override`用于指示方法是重写父类的方法。 二、Annotation的定义 1. Annotation概念和...
注解本质上是一种特殊的注释,但它比传统注释更强大,因为它可以在编译时被处理,甚至在运行时被读取,从而实现代码的自描述性和扩展性。 #### 二、注解的类型与用途 ##### 1. @Override:重写注解 此注解仅应用...
Spring Core Annotation,即Spring核心注解,是Spring框架中的一部分,用于声明式地配置和管理bean,使得代码更加简洁、易读且易于维护。本文将深入探讨Spring核心注解的相关知识点,帮助开发者更好地理解和运用这一...
2. 方法注释:在方法声明前添加文档注释,说明方法的功能、参数和返回值。 ```java /** * 计算两个数的和 * @param num1 第一个加数 * @param num2 第二个加数 * @return 两数之和 */ public int add(int num1,...
在这个示例中,`# Target: MyClass.myMethod`是一个注释,用于指示接下来的注解条目是针对`MyClass`类中的`myMethod`方法的。 #### 四、总结 注解文件规范提供了一种灵活的方式来管理Java程序中的注解,特别是在...
Java注释处理器(Annotation Processor)是Java平台提供的一种机制,用于在编译期间对源代码进行分析、修改或生成新的源代码。这个机制基于Java的注解(Annotation),注解是一种元数据,它提供了在代码中附加信息的...
借助新的 Hibernate Annotation 库,即可一次性地分配所有旧映射文件——一切都会按照您的想法来定义——注释直接嵌入到您的 Java 类中,并提供一种强大及灵活的方法来声明持久性映射。 使用 Hibernate 注解的优点...
PostCSS插件,用于基于注释的注释,包括其他规则集中的属性。 使用此插件,可以通过@include使用其他规则的内联扩展属性声明。 安装 $ npm install postcss-annotation-include 例子 var fs = require ( 'fs' ) ...
注解可以直接放置在类声明、字段声明、方法声明、方法参数等位置。例如,@Override用来表示方法是对超类的覆盖,而@Deprecated则用来标记过时的方法,编译器在使用这些方法时会发出警告。@SuppressWarnings则用于...
Akka注释框架,也称为"akka-annotation",是基于Java语言的扩展框架,主要用于提升Akka框架的使用体验和代码可读性。Akka本身是一个用Scala语言开发的强大并行和分布式处理框架,但在Java环境中也能很好地工作。Akka...
Servlet_ServletAnnotations Servlet API 3.0引入了一个名为javax.servlet.... 注释可以替换Web部署描述符文件(web.xml)中的等效XML配置,例如servlet声明和servlet映射。 Servlet容器将在部署时处理带注释的类。
dartboot_annotation提供的是一套框架级别的注解,这些注解可能包括但不限于初始化配置、路由定义、服务注册等,它们使得开发者能够更方便地声明和管理应用程序的组件和行为。 1. **注解的定义与使用**:在Dart中,...
综上所述,"注释java源码-tic303-annotation"项目专注于注解在Java源代码中的应用,旨在提升代码的可读性和理解性,同时也可能利用注解进行元编程操作,例如通过自定义注解和注解处理器增强JavaTP的开发体验。