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

Annotation: 高级应用

阅读更多

本文具体解释annotation和annotation processing tool(APT)的使用。

本文列举了用于演示annotation的BRFW演示框架,演示APT的apt代码示例,并对其进行较为深度的分析。

 

Annotation实例分析

1、BRFW(beaninfo runtime framework)定义

编写一个annotation功能演示框架;顾名思义:BRFW就是在运行时取得bean信息的框架。

2、BRFW的功能

 ● 源代码级annotation:在bean的源代码中使用annotation定义bean的信息

 ● 运动时获取bean数据:在运行时分析bean class中的annotation,并将当前bean class中field信息取出

 ● 运动时bean数据的xml绑定:将获得bean数据构造为xml文件格式展现

3、BRFW框架 BRFW主要包含以下几个类

 ● Persistent类:定于用于修饰类的固有类型成员变量的annotation

 ● Exportable类:定义了用于修饰class的类型的annotation

 ● ExportToXml类:核心类用于完成BRFW的主要功能;将具有Exportable Annotation的bean对象转换为xml格式文本

 ● AddressForTest类:被Persistent和Exportable修饰过用于测试目的的地址bean类;

    其中包含定义所必需的信息:国家、省级、城市、街道、门牌等

 ● AddressListForTest类:被Persistent和Exportable修饰过友人通讯录bean类。

    其中包含了通讯册所必备的信息:友人、姓名、年龄、电话、住址(成员为AddressForTest类型的ArrayList)、备注

    需要说明的是电话这个bean成员变量由字符串类型组成的ArrayList类型

    由于朋友地址可能不唯一,故这里的住址为由AddressForTest类型组成的ArrayList

 

 

分享到:
评论

相关推荐

    Java核心技术(卷2):高级特性(原书第9版)

    通过《Java核心技术(卷2):高级特性(原书第9版)》的学习和38套java高级架构视频教程的实践,开发者能够深入理解并熟练运用这些高级特性,从而提升自己的Java编程能力,构建更高效、稳定的应用程序。

    study-annotation:Annotation学习

    总的来说,`study-annotation`项目涵盖了从基本的注解使用到高级的注解处理器开发的广泛内容。通过这个项目,你可以深入理解如何利用注解增强代码的可读性,简化维护,以及提高程序的灵活性。实践过程中,可以尝试...

    Annotation手册

    通过自定义和标准Annotation的结合,开发者可以实现更高级的功能,如代码的自我验证、性能优化和自动化生成。随着Java版本的升级,Annotation的应用场景和能力也在不断扩大,成为了现代Java开发不可或缺的一部分。

    image_annotation:ClioPatria Cpack支持图像注释

    【标题】"ClioPatria Cpack支持图像注释" 涉及的主要知识点是图像处理和注释功能在ClioPatria系统中的应用,以及与JavaScript...通过学习和应用这个Cpack,开发者可以了解如何在类似的信息系统中实现类似的高级功能。

    Java.Annotation

    **Annotation 高级特性** - **Retention Policy**:通过`@Retention`,我们可以控制Annotation的生命周期,例如保留在源代码、编译后的字节码或运行时。常见的策略有`SOURCE`(只存在于源码)、`CLASS`(编译后丢弃...

    react-image-annotation:React轻量级图像注释

    **React-image-annotation** 是一个专为React应用设计的轻量级图像注释库,它提供了丰富的功能,允许用户在图像上添加各种注释,包括点、线、多边形等,非常适合于图像标注、图像处理或在线编辑场景。这个库基于 **...

    《JAVA.核心技术.卷II:高级特性》源码

    通过学习和分析这些源码,开发者不仅可以掌握Java高级特性的精髓,还能深入了解如何在实际项目中应用这些知识,从而提升自己的编程技能和问题解决能力。无论是初学者还是经验丰富的开发者,都能从这个源码库中...

    young-ssm-annotation:ssm基本环境(spring boot+spring mvc+mybatis)

    通过学习和实践"young-ssm-annotation"项目,开发者可以深入理解SSM框架的整合以及注解在数据库操作中的应用,提升Web应用开发技能。同时,这个项目也展示了如何利用Spring Boot简化应用初始化和配置,以及如何利用...

    01_eesy_02mybatis_annotation:mybatis学习

    在"01_eesy_02mybatis_annotation"的学习中,我们将深入理解MyBatis的注解式编程,这是一种更加简洁的配置方式,相对于传统的XML配置,它可以使得代码更加整洁,开发效率更高。 1. **MyBatis核心组件** - **...

    Java Annotation注解.doc

    Java Annotation,也称为注解,是Java编程语言中的一种元数据机制,用于向编译器、JVM或工具提供有关代码的附加信息。这些信息不直接影响代码的执行,但...在《Java Annotation高级应用》中,可能会涵盖这些高级主题。

    annotation

    在IT行业中,注解(Annotation)是Java编程语言的一个...通过自定义注解和对应的处理机制,我们可以实现代码的自动化处理、验证、配置等高级功能。在实际开发中,合理运用注解能够提高代码的可读性、可维护性和灵活性。

    JAVA2核心技术第2卷:高级特性(源码)

    《JAVA2核心技术第2卷:高级特性》是Java编程领域的一本经典著作,它深入探讨了Java语言的高级特性和应用。源码是书中实例的实现,为读者提供了直观的学习材料。以下是根据标题、描述和标签所涉及的知识点进行的详细...

    JAVA核心技术 卷II:高级特性(原书第8版).pdf

    10. **并发工具**:Java提供了许多高级并发工具,如ConcurrentHashMap、CountDownLatch、CyclicBarrier等,这些工具能帮助开发者编写高效的多线程应用。 11. **注解(Annotation)**:注解是元数据的一种形式,可以...

    Hibernate Annotation 中文文档

    随着Java社区对注解的广泛接受,Hibernate Annotation已经成为现代Java应用开发的标准实践,逐渐取代了传统的XML映射方式。 以上是对Hibernate Annotation的简要介绍,深入理解和熟练应用这些注解,将有助于提升你...

    Annotation.zip

    `Annotation.zip`可能包含了一个示例,展示了如何利用注解来自动化代码生成,这在Android应用开发中尤其有用,因为它可以减少手动编写重复代码的时间并提高代码质量。 1. **运行时注解处理器(Runtime Annotation ...

    前端项目-chartjs-plugin-annotation.zip

    除了基本的注释类型,`chartjs-plugin-annotation`还提供了一些高级特性: 1. **事件监听**:可以绑定点击、鼠标悬停等事件到注释上,实现更丰富的交互。 2. **动态更新**:当图表数据改变时,可以通过更新options....

    TsignRecgTrain4170Annotation.rar

    随着网络的深度增加,这些低级特征逐渐转化为更高级的抽象表示,最终用于分类或识别任务。此外,池化层(pooling layer)用于降低数据的维度,减少计算量,同时保持关键信息;全连接层(fully connected layer)则将...

    Annotation

    ### Annotation在Java中的深入解析与应用 #### 一、Annotation概览 Annotation,中文译为“注解”,是Java 5引入的一种元数据机制,用于向编译器或运行时环境提供额外的信息。注解本质上是一种特殊的注释,但它比...

    Hibernate Annotation入门

    接下来,我们将逐步创建一个简单的Hibernate Annotation应用。首先,定义一个实体类,比如`User`: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType...

Global site tag (gtag.js) - Google Analytics