学习教程:Java Annotation 高级应用
日期:2008年2月23日 作者: 查看:[大字体 中字体 小字体]-
前言: 前不久在matrix上先后发表了《java annotation 入门》、《java annotation 手册》两篇文章,比较全面的对java annotation的语法、原理、使用三方面进行了阐述。由于《入门》中的简单例程虽然简单明了的说明了annotation用法,但给大家的感觉可能是意犹未见,所以在此行文《java annotation高级应用》,具体实例化解释annotation和annotation processing tool(APT)的使用。望能对各位的有所帮助。
一、摘要:
《java annotation高级应用》具体实例化解释annotation和annotation processing tool(APT)的使用。望能对各位的有所帮助。本文列举了用于演示annotation的BRFW演示框架、演示APT的apt代码实例,并对其进行较为深度的分析,希望大家多多提意见。
二、annotation实例分析
1.BRFW(Beaninfo Runtime FrameWork)定义:
本人编写的一个annotation功能演示框架。顾名思义,BRFW就是在运行时取得bean信息的框架。
2.BRFW的功能:
A.源代码级annotation:在bean的源代码中使用annotation定义bean的信息;
B.运行时获取bean数据:在运行时分析bean class中的annotation,并将当前bean class中field信息取出,功能类似xdoclet;
C.运行时bean数据的xml绑定:将获得的bean数据构造为xml文件格式展现。熟悉j2ee的朋友知道,这个功能类似jaxb.
3.BRFW框架:
BRFW主要包含以下几个类:
A.Persistent类:定义了用于修饰类的固有类型成员变量的annotation.
B.Exportable类:定义了用于修饰Class的类型的annotation.
C.ExportToXml类:核心类,用于完成BRFW的主要功能:将具有Exportable Annotation的bean对象转换为xml格式文本。
D.AddressForTest类:被A和B修饰过的用于测试目的的地址bean类。其中包含了地址定义所必需的信息:国家、省级、城市、街道、门牌等。
E.AddressListForTest类:被A和B修饰过的友人通讯录bean类。其中包含了通讯录所必备的信息:友人姓名、年龄、电话、住址(成员为AddressForTest类型的ArrayList)、备注。需要说明的是电话这个bean成员变量是由字符串类型组成的ArrayList类型。由于朋友的住址可能不唯一,故这里的住址为由AddressForTest类型组成的ArrayList.
从上面的列表中,可以发现A、B用于修饰bean类和其类成员;C主要用于取出bean类的数据并将其作xml绑定,代码中使用了E作为测试类;E中可能包含着多个D.
在了解了这个简单框架后,我们来看一下BRFW的代码吧!
4.BRFW源代码分析:
A.Persistent类:
清单1:
package com.bjinfotech.practice.annotation.runtimeframework;
import java.lang.annotation.*;
/**
* 用于修饰类的固有类型成员变量的annotation
* @author cleverpig
*
*/
@Retention(RetentionPolicy.RUNTIME) - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页
-
- 学习教程:Java Annotation 高级应用 相关文章:
- ·学习CSS制作网页的多个经验技巧
- ·学习CSS制作网页总结的一些经验技巧
- ·Photoshop初学者轻松制作条形码
- ·Photoshop教程 图层样式的学习
- ·CSS初学者应该保持的一种心态
- ·Flash初学者实用技巧
- ·学习CSS必需知道的事
- ·Word 2007数学插件:Microsoft Math
- ·初学:ASP内建对象Response
- ·初学ASP动态网页制作常用错误处理
- 学习教程:Java Annotation 高级应用 相关软件
- ·学校源码管理系统超靓版V2008
- ·小说语文教学(集)
- ·《冰封王座》地图:逃学大乱斗V2.8音乐版
- ·学生智力训练
- ·《反恐精英》1.6版AK练习法教学视频下载
- ·动作解谜《科学试验》游戏试玩
- ·美国厚黑学--人生必胜之道
- ·GBA《游戏王GX学院决斗》模拟器
- ·最后的学徒:班恩的诅咒
- ·历史学家(精编版)
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- ·学习教程:Java Annotation 高级应用
- ·Windows XP下PHP+MySQL环境搭建
- ·Php+Mysql注入专题
- ·详细讲解PHP的Jmai组件及发送邮件实例
- ·PHP的类--功能齐全的发送邮件类
- ·smarty技术学习,修改php模板的一点体会
- ·快”在细节 J2EE程序的性能优化技巧
- ·分享关于Servlet2.5 的新特征
- ·入门知识:动态网页PHP编程中数组的基础知识
- ·最近写的一个PHP操作Access类(PHP+ODBC+Access)
- ·圣殿骑兵PHP 2007年Web开发技术预言
- ·使用 PHP 5.0创建图形的巧妙方法
- ·对PHP程序中的常见漏洞进行攻击
- ·显示照片exif信息PHP代码
- ·PHP学习笔记(整理完成)
- ·PHP高手带路:问题汇总解答
- ·使用PostgreSQL数据库做PHP开发
- ·ASP知识讲座四
- ·PHP:实现给上传图片加水印的程序代码
特别推荐
- ·学习教程:Java Annotation 高级应用
- ·PHP入门指导:如何学习PHP?
- ·Php+Mysql注入专题
- ·PHP:实现给上传图片加水印的程序代码
- ·PHP动态网站开发中常用的8个小技巧
- ·PHP初学者:配置Apache服务器并且设置DNS
- ·初学PHP指导:php.ini 配置详细选项
- ·好文分享:PHP入门的学习方法
- ·急速搭建属于自己的Discuz!6论坛
- ·PHP入门:初学来看配置文件PHP.INI的中文注释
- ·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
- ·总结:一些PHP学习过程中的心得和经验
- ·新手入门:JSP初学者必须掌握的语法点
- ·PHP技巧:PHP脚本编程中的文件系统函数库
- ·详细讲解PHP编程中分页显示的制作
- ·成为PHP编程高手应该遵循的三个准则
- ·谈谈生成静态页面的一些经验
- ·新手入门:详细解述七个软件开发的原则
- ·简单的webservice开发例子
- ·PHP木马攻击的防御之道
