原文地址:http://www.c2.com/cgi/wiki?AnnotationsOverTagInterfaces
本文主要介绍:使用注解代替以前的标签接口:
批注:标签接口是指,没有任何方法,只是用于区域特别的类的空接口.
在java1.5之前,常用标签接口标记一个类,如同给类增加一些属性,也就是接口被像元数据一样被使用.
Java Annotations提供了更广泛的用途在使用Metadata,对程序员更加有用.
首先,特别注意annotations使用时不同的限制,比如注解 @Retention 用于标注在其他的注解之上,使用一个枚举做为参数.
你可以这么定义:
@Retention(RetentionPolicy.RUNTIME)
上面的意思为,这个注解数据将在runtime(运行时)保存,允许程序员使用反射找出该注解.从Java 1.5开始//略...
第二种不同的注解能够注解脱离只能使用在class标签之上的约束,@Target
@Target(ElementType.METHOD)
该注解将只能在方法上使用(@Target注解带有一组的枚举类型,但在Java 1.5中提供了一些语法糖进行了隐藏)
一个在单元测试框架上使用两个注解的例子,在JavaUnit方法中,使用test注解去运行测试,当时有一些难看.使用的方式如下
首先需要创建一个@Test注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Test {}
然后我们标注我们的测试方法
public class MyTests {
@Test
void myTest() {
}
}
最后,我们使用反射获取我们的测试方法
public class TestRunner {
public static void runTests(Class c) throws Exception {
Object instance = c.newInstance();
for (Method m: c.getMethods()) {
if (m.getAnnotation(Test.class) != null) {
m.invoke(instance, new Object[]{});
}
}
}
}
一些使用注解标签的好处
1:注解明白的表达了意图,适用于代替其他语言特性去修改元数据
2:注解能够使用在很多类型上
3:注解能被参数化使用
一些缺点
1:注解只能在Java1.5上使用
2:定义一个注解比只定义一个空接口需要更多的工作
分享到:
相关推荐
annotations-api.jar注解
在Android开发中,注解(Annotations)是一种强大的工具,它能帮助我们简化代码,提高代码的可读性和可维护性。Android Annotations库是专门为Android应用设计的一个注解处理框架,它提供了一系列预定义的注解,可以...
2. **创建注解的Pojo类**:接着,定义一个Java类,并使用JSoup-Annotations的注解来标注字段。比如,如果你要解析一个包含标题、作者和内容的博客文章,可以创建如下类: ```java public class BlogPost { @Id(...
jackson-annotations, 对于Jackson数据处理器,核心注解( 仅依赖于 概述这个项目包含了Jackson数据处理器的通用注释,用于值和处理程序类型。 惟一不包括的注释是需要依赖于 Databind包的注释。项目包含版本 2.0和上...
Android Annotations框架是一个强大的工具,它通过使用Java注解(Annotations)来简化Android应用的开发,提高了编码效率。本文将深入探讨Android Annotations的使用方法和优势,帮助开发者更好地理解和运用这一框架...
在Java编程语言中,注解(Annotations)是一种元数据,用于提供有关代码的信息,这些信息可以被编译器或运行时环境使用。自定义注解是扩展Java功能的强大工具,可以用于实现各种目的,如代码生成、编译时检查、运行...
在编程领域,注解(Annotations)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以被编译器、解释器或者其他的工具用来影响代码的处理方式。注解在QL(Query Language)中同样重要,它允许程序员对类、...
Annotations(注解)是一种元数据,它提供了在不改变程序行为的同时,向编译器或JVM提供额外信息的方式。这些信息可以用于代码分析、编译时检查、运行时处理等目的。 在描述中提到的"annotations压缩文件"很可能是...
最新注解JAR包. 找了N久才找到的.
Hibernate 支持编程式和声明式事务管理,可以使用 `Transaction` 接口或者 `@Transactional` 注解来控制事务的边界。 ### Hibernate 第二缓存和查询缓存 1. **第二缓存**: 为了提高性能,Hibernate 提供了二级缓存...
【标题】"jboss-annotations-ejb3.jar" 是一个重要的Java档案,它包含了JBoss企业级JavaBean(EJB)3.0的注解支持。这个库是JBoss应用服务器的一部分,允许开发者在EJB组件中使用注解来简化配置和部署过程。 【描述...
`org.springframework.roo.annotations`包是Spring Roo的核心组成部分之一,包含了大量用于元编程的注解,这些注解在构建基于Spring的应用程序时起着至关重要的作用。本文将深入探讨这个包中的注解以及它们在Maven...
要获取类上的注解,可以使用`Class`对象的`getAnnotations()`方法,它返回一个包含该类所有注解的数组。例如: ```java Class<?> clazz = MyClass.class; Annotation[] annotations = clazz.getAnnotations(); ...
在Android开发中,注解(Annotations)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以在编译时或运行时被解析和处理。`support-annotations.zip`是一个包含Android支持库中注解相关类的压缩包,主要...
功能:完全注解框架,一切皆为注解:声明控件,绑定控件,...缺点:文档是全英文的加上功能比较少没有具体研究,由于一切都是注解,感觉效率不高,不过根据官方介绍说并不是使用的反射加载,所以效率比一般注解高很多。
Hibernate Annotations是Hibernate 3.x系列引入的新特性,它允许开发者在Java实体类上直接使用注解来定义对象关系映射信息,替代了传统的Hibernate XML配置文件。这种注解方式提高了开发效率,减少了配置文件的维护...
Hibernate Annotations是Hibernate框架的一个重要组成部分,它允许开发人员通过在Java实体类上使用注解来定义数据模型,从而避免了传统的XML配置文件。这种做法提高了代码的可读性和维护性。 **核心概念** 1. **...
本篇将深入探讨Hibernate3中的注解功能以及与Commons Annotations的结合使用,旨在帮助开发者更好地理解和应用这些技术。 首先,让我们来看看核心组件`hibernate3.jar`。这个JAR文件包含了Hibernate3框架的基础组件...
- **组合注解**(Composed Annotations):允许创建包含多个注解的复合注解,提高代码复用。 - **属性别名和覆盖**:注解属性可以有别名,且在不同层次上可以进行覆盖,以适应复杂场景。 4. **Spring 元注解** -...
在Android开发中,尤其在使用兼容库时,确保正确覆盖接口或抽象类的方法至关重要。 3. `@UiThread` 和 `@WorkerThread` 这两个注解用于标记代码应当在UI线程还是工作线程执行。`@UiThread`通常用于需要更新UI的操作...