`
friendsys
  • 浏览: 348193 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Annotations Over Tag Interfaces 使用注解代替标志接口

阅读更多
原文地址: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注解

    annotations-api.jar注解

    Android annotations 注解 使用

    在Android开发中,注解(Annotations)是一种强大的工具,它能帮助我们简化代码,提高代码的可读性和可维护性。Android Annotations库是专门为Android应用设计的一个注解处理框架,它提供了一系列预定义的注解,可以...

    jsoup-annotations是Jsoup注解的POJO

    2. **创建注解的Pojo类**:接着,定义一个Java类,并使用JSoup-Annotations的注解来标注字段。比如,如果你要解析一个包含标题、作者和内容的博客文章,可以创建如下类: ```java public class BlogPost { @Id(...

    jackson-annotations, 对于Jackson数据处理器,核心注解( 仅依赖于.zip

    jackson-annotations, 对于Jackson数据处理器,核心注解( 仅依赖于 概述这个项目包含了Jackson数据处理器的通用注释,用于值和处理程序类型。 惟一不包括的注释是需要依赖于 Databind包的注释。项目包含版本 2.0和上...

    Android Annotations框架使用实例

    Android Annotations框架是一个强大的工具,它通过使用Java注解(Annotations)来简化Android应用的开发,提高了编码效率。本文将深入探讨Android Annotations的使用方法和优势,帮助开发者更好地理解和运用这一框架...

    自定义注解实现伪动态传参的小demo

    在Java编程语言中,注解(Annotations)是一种元数据,用于提供有关代码的信息,这些信息可以被编译器或运行时环境使用。自定义注解是扩展Java功能的强大工具,可以用于实现各种目的,如代码生成、编译时检查、运行...

    注解Annotations)1

    在编程领域,注解(Annotations)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以被编译器、解释器或者其他的工具用来影响代码的处理方式。注解在QL(Query Language)中同样重要,它允许程序员对类、...

    annotations

    Annotations(注解)是一种元数据,它提供了在不改变程序行为的同时,向编译器或JVM提供额外信息的方式。这些信息可以用于代码分析、编译时检查、运行时处理等目的。 在描述中提到的"annotations压缩文件"很可能是...

    最新annotations-25.0.0JAR包下载 注解JAR包下载 注释JAR包下载

    最新注解JAR包. 找了N久才找到的.

    HibernateAnnotations 中文版

    Hibernate 支持编程式和声明式事务管理,可以使用 `Transaction` 接口或者 `@Transactional` 注解来控制事务的边界。 ### Hibernate 第二缓存和查询缓存 1. **第二缓存**: 为了提高性能,Hibernate 提供了二级缓存...

    jboss-annotations-ejb3.jar

    【标题】"jboss-annotations-ejb3.jar" 是一个重要的Java档案,它包含了JBoss企业级JavaBean(EJB)3.0的注解支持。这个库是JBoss应用服务器的一部分,允许开发者在EJB组件中使用注解来简化配置和部署过程。 【描述...

    org.springframework.roo.annotations

    `org.springframework.roo.annotations`包是Spring Roo的核心组成部分之一,包含了大量用于元编程的注解,这些注解在构建基于Spring的应用程序时起着至关重要的作用。本文将深入探讨这个包中的注解以及它们在Maven...

    java 通过反射获取类上注解,方法上注解,注解里的值及方法参数

    要获取类上的注解,可以使用`Class`对象的`getAnnotations()`方法,它返回一个包含该类所有注解的数组。例如: ```java Class<?> clazz = MyClass.class; Annotation[] annotations = clazz.getAnnotations(); ...

    support-annotations.zip

    在Android开发中,注解(Annotations)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以在编译时或运行时被解析和处理。`support-annotations.zip`是一个包含Android支持库中注解相关类的压缩包,主要...

    Android annotations注解框架 源码

    功能:完全注解框架,一切皆为注解:声明控件,绑定控件,...缺点:文档是全英文的加上功能比较少没有具体研究,由于一切都是注解,感觉效率不高,不过根据官方介绍说并不是使用的反射加载,所以效率比一般注解高很多。

    hibernate-annotations-3.4.0.GA

    Hibernate Annotations是Hibernate 3.x系列引入的新特性,它允许开发者在Java实体类上直接使用注解来定义对象关系映射信息,替代了传统的Hibernate XML配置文件。这种注解方式提高了开发效率,减少了配置文件的维护...

    hibernate annotations

    Hibernate Annotations是Hibernate框架的一个重要组成部分,它允许开发人员通过在Java实体类上使用注解来定义数据模型,从而避免了传统的XML配置文件。这种做法提高了代码的可读性和维护性。 **核心概念** 1. **...

    hibernate3-[annotations-commons-annotations].rar

    本篇将深入探讨Hibernate3中的注解功能以及与Commons Annotations的结合使用,旨在帮助开发者更好地理解和应用这些技术。 首先,让我们来看看核心组件`hibernate3.jar`。这个JAR文件包含了Hibernate3框架的基础组件...

    第十八章 Spring 注解(Annotations)1

    - **组合注解**(Composed Annotations):允许创建包含多个注解的复合注解,提高代码复用。 - **属性别名和覆盖**:注解属性可以有别名,且在不同层次上可以进行覆盖,以适应复杂场景。 4. **Spring 元注解** -...

    support-annotations-28.0.0.zip

    在Android开发中,尤其在使用兼容库时,确保正确覆盖接口或抽象类的方法至关重要。 3. `@UiThread` 和 `@WorkerThread` 这两个注解用于标记代码应当在UI线程还是工作线程执行。`@UiThread`通常用于需要更新UI的操作...

Global site tag (gtag.js) - Google Analytics