XDoclet是一个开源的代码生成引擎。它是面向属性编程的(Attribute-Oriented Programming)。意味着你可以通过给java资源文件中添加元素据(属性)从而实现增加更多的信息。这都是通过JavaDoc标记来完成的。 XDoclet会解析你的源文件,并且生成XML等描述性文件。这可以让你在面向组件开发中使用
持续集成。开发者只需要关注源文件即可。
官网地址:http://xdoclet.sourceforge.net/xdoclet/index.html
必须确保JDK中lib目录下的tools.jar在classpath环境变量中,而且需要
Jakarta Ant 1.5或者更高版本。
下载地址:http://sourceforge.net/projects/xdoclet/ xdoclet-lib-1.2, includes all needed libraries xdoclet-bin-1.2, includes the documentation, all needed libraries and samples xdoclet-src-1.2, includes scripts and sources needed to build XDoclet (see below)
- 安装XDoclet
- 在Java源文件中添加XDoclet提供的注解,例如:@hibernate.class
- 编写ant文件——build.xml
- 执行ant任务
下面是源代码文件: [codesyntax lang="java"]
/**
* http://surenpi.com
*/
package org.suren.xdoclet.example;
/**
* @author suren
* @date 2015年9月11日 上午10:20:49
* @hibernate.class
* table="S_Student"
*/
public class Student
{
/**
*/
private String id;
private String name;
/**
* @return the id
* @hibernate.id
* generator-class="uuid.hex"
*/
public String getId()
{
return id;
}
/**
* @param id the id to set
*/
public void setId(String id)
{
this.id = id;
}
/**
* @return the name
* @hibernate.property
* column="s_name"
*/
public String getName()
{
return name;
}
/**
* @param name the name to set
*/
public void setName(String name)
{
this.name = name;
}
}
[/codesyntax] 下面是build.xml的内容,从结构上分三块——引用XDoclet的类、定义XDoclet任务、执行任务: [codesyntax lang="xml"]
<?xml version="1.0" encoding="utf-8"?>
<project name="suren xdoclet project" basedir=".">
<property name="src.dir" value="${basedir}/src" />
<property name="xdoclet.home" value="C:/Users/zhaoxj/Desktop/xdoclet-1.2.1" />
<path id="suren.class.path">
<fileset dir="${xdoclet.home}/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="init">
<taskdef name="hibernatexdoclet"
classname="xdoclet.modules.hibernate.HibernateDocletTask"
classpathref="suren.class.path"/>
</target>
<target name="suren" depends="init">
<hibernatexdoclet destdir="suren-gen-src"
mergedir="debug"
addedtags="@author XDoclet"
verbose="true">
<fileset dir="D:/Gboat-Toolkit-Suit/workspace/xdoclet/src">
<include name="**/*.java"/>
</fileset>
<hibernate version="2.0" />
<hibernatecfg jdbcUrl="jdbc:mysql://localhost/test"
driver="com.mysql.jdbc.Driver"
dialect="org.hibernate.dialect.MySQLDialect"
userName="root"
password="root" />
</hibernatexdoclet>
</target>
</project>
[/codesyntax]