Topic: 【随笔】迟到的xdoclet2我支持你! --框架介绍 |
Print this page |
1.【随笔】迟到的xdoclet2我支持你! --框架介绍 | Copy to clipboard |
Posted by: linux_china Posted on: 2003-11-23 14:11 如果大家做j2ee相关开发想必对xdoclet有一定的了解,xdoclet开发小组原定于8月底推出xdoclet2,到现在 已三四个过去了,情况不大,sourceforge上的xdoclet 1.3依然如旧,没有改变,但是xdoclet2开发依然在 进行中,我想谈谈自己对xdoclet2的认识,同时也让大家对xdoclet2的认识和对他人的努力的肯定。 如果大家 看过 Next Generation of XDoclet 2 Announced (from TSS) 这篇文章一定对xdoclet2有一定的了解, 以下是cjsdn上此篇文章的链接 http://www.cjsdn.com/post/view?bid=8&id=47566&sty=3 xdoclet的核心模块包含以下几个方面: 1 Generama 2 xdoclet sdk 3 velocity and jelly 4 qdox 5 相关plugin 下面是对模块的具体介绍: 1 Generama Generama是一个可以产生任何文件的框架,此框架中包含jelly和velocity的plugin,文件由各式各样的具体plugin产生。 Generama包含四个核心方面: I Generama class是框架的入库,框架的调用由此开始,它是picocontainer的扩展。 II Plugin interface为框架的plugin接口,包含核心的实现:VelocityPlugin 和 JellyPlugin, 一般每个具体的plugin都有相对应的一个或几个模板(jelly或elocity模板) III MetaDataProvider interface 是框架中原数据提供者,它是模板的数据提供者,并为具体的plugin所调用。 IV WriterMapper interface 是框架中的输出的目标,通常是一个文件(FileMapper),它是plugin的具体输出目标。 图式: 原数据--> Generama --> 寻找相应的plugin(含模板) --> 输出目标(文件) 2 xdoclet sdk xdoclet sdk 主要负责和ant交换、提供原数据、提供输出目标、调用Generama。 在这儿我想提一点的是原数据通过QDoxMetadataProvider从java原文件中获取。QDoxMetadataProvider职能是包 java原文件包含的原信息提供给模板。 3 velocity和jelly velocity和jelly为编写模板的语言,velocity相信大家都比较了解啦,jelly的具体实现可以参考maven。 在xdoclet2中,veloctiy模板主要负责java文件的生成,而jelly负责xml文件的生成。 4 qdox qdox是一个高性能的java源文件解析器,通过qdox,你可以从java原文件中就可以得知此文件的结构(以前只能从class文件中获取), 包括:/package/class/interface/method/field,及对应的javadoc tag和自定义tag,注释等。 大家可以参考qdox的资料, qdox非常容易理解。 qdox在xdoclet中注意是从java源文件分析出原数据,它是原xjavadoc的替代者。 由qdox派生的框架也不少,qdox着实不错。 5 相关的plugin 如果涉及到具体的操作,可能需要相应的plugin,如生成远程接口,ejb-jar.xml文件等。 依据规范,一个plugin的编写包括: plugin接口的具体实现(通常继承VelocityPlugin 或 JellyPlugin),相应的模板,测试类。 这样,一个plugin就完成啦! :) 总结: xdoclet2的处理步骤: 1 通过qdox,从java源文件获取原数据 2 将原数据、输出目标及相关的指令发送给Generama 3 Generama调用相应的plugin,将原数据、输出目标传给plugin 4 plugin根据原数据、相应模板和输出目标完成文件的生成 感想: xdoclet的作用想必大家都知道。xdoclet2花费的心思确实不小,框架开发不是件容易的事,而且是这样open source和GPL, 没有money支持,自主开发,精神可贵,虽然xdoclet2的开发一再延迟,但我能理解。 仅已此文档献给这写开发人员,让更多的人了解他们工作。别人写出好东西,我只是介绍一下,有点惭愧啊! 参考资料: 1 xdoclet http://xdoclet.sourceforge.net 2 xdoclet2 http://xdoclet.sourceforge.net/xdoclet2 3 Generama http://xdoclet.sourceforge.net/generama 4 picocontainer http://www.picocontainer.org 5 qdox http://qdox.codehaus.org 6 velocity http://jakarta.apache.org/velocity/ 7 jelly http://jakarta.apache.org/commons/jelly/ |
2.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: alin_ass Posted on: 2003-11-25 23:24 没中文资料,入门费时间,有空能把自己的经验写写吗 |
3.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: bjwz Posted on: 2003-11-26 10:36 现在出的框架太多了,真不知道该用哪个了。 |
4.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: javadd Posted on: 2003-11-26 10:38 好东西. |
5.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: alin_ass Posted on: 2003-11-28 23:32 最近发现很多配置单都是xdoclet生成的,比如myeclipse。hibernate映射, 请已经入手的同志给点资料,否则我自己去啃了... |
6.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: hitaco Posted on: 2003-11-30 11:22 用来做配置文件生成不错 |
7.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: huangfei Posted on: 2003-12-13 21:08 学习ing |
8.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: sailorhero Posted on: 2003-12-15 16:46 MyEclipse插件和Jboss插件中,附带了使用xdoclet生成部署描述符的例子 可以照着试试! |
9.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: bluejava Posted on: 2003-12-16 14:31 我要看看去. |
10.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: jimlaren Posted on: 2003-12-17 12:39 开发EJB、struts离不开它,它现在是我的左右手了,可是有些功能还没有实现,期待中。 |
11.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: coddz Posted on: 2003-12-22 10:42 准备研究之,thank you |
12.Re:【随笔】迟到的xdoclet2我支持你! --框架介绍 [Re: linux_china] | Copy to clipboard |
Posted by: coddz Posted on: 2003-12-22 10:48 12月19日刚发布xdoclets 1.2 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |