http://www.javaresearch.org/article/showarticle.jsp?column=331&thread=...">
转自:javaresearch.org/article/showarticle.jsp?column=331&thread=26106">http://www.javaresearch.org/article/showarticle.jsp?column=331&thread=26106
xdoclet起步xdoclet是一个代码生成工具,它可以把你从java开发过程中繁重的重复劳动中解脱出来.xdoclet可以让你的应用系统开发的更加快速,而你只要付比原先更少的努力.你可以把你手头上的冗长而又必需的代码交给它帮你完成,你可以逃脱“deployment descriptor地狱”,你还可以使你的应用系统更加易于管理.而你所要做的,只不过是在你的注释里,多加一些类javadoc属性.然后,你会惊讶于xdoclet为了做到的一切.讨论xdoclet,有一点比较容易产生混淆,那就是xdoclet不但是一系统的代码生成应用程序,而且它本身还是一个代码生成框架.虽然每个应用系统的细节千变万化(比如ejb代码生成与struts代码生成是不一样的,而jmx代码生成又是另一番景象),但这些代码生成的核心概念与用法却是类似的.在这一章里,我们将会看到渗透到所有xdoclet代码生成程序当中的xdoclet框架基础概念.但在之前,我们先从一个例子入手.2.1 xdoclet in action每一个程序员都会认识到,他们的程序永远也不会完成.总会有另一些的功能需要添加,另一些的bug需要修正,或者需要不断的进行重构.所以,在代码里添加注释,提醒自己(或者其他的程序员)有哪些任务需要完成已成为一个共识.如何来跟踪这些任务是否完成了呢?理想情况下,你会收集整理出来一个todo任务列表.在这方面,xdoclet提供了一个强大的todo生成器,来帮助你完成这个任务.这是一个把xdoclet引入项目的好机会.2.1.1 一个公共的任务假设你正在开发一个使用了勺子的类.public class matrix { // todo ? 需要处理当没有勺子的情况 public void reload() { // ... spoon spoon = getspoon(); // ... }}理想情况下,你在下一次阅读这段代码的时候,你会处理这个“空勺子”(null spoon)的问题.但如果你过了很久才回来看这段代码,你还会记得在这个类里还有一些工作要做吗?当然,你可以在你的源码里全局搜索todo,甚至你的集成开发环境有一个内建的todo列表支持.但如果你想把任务所在的类与方法也标注出来的话,xdoclet可以是另一种选择.xdoclet可以为你的项目生成一个todo报表.2.1.2 添加xdoclet标签为了把你的todo项目转换成另一种更加正式的格式,你需要对代码进行一些细微的改动.如下所示:public class matrix { /** @todo 需要处理当没有勺子的情况 */ public void reload() { // ... }}这里加入了一个xdoclet需要的类javadoc标签.xdoclet会使用这些标签标记的信息,以及在这种情况下标签所处的类与方法,来生成todo报表.2.1.3 与ant集成要生成todo报表,你需要确保在你的机器上正确安装了xdoclet.... 下一页