Xdoclet基本概念
我们可以在java代码中使用类似于javadoc的注释,来表达更多的内容。这些额外的注释,通过使用xdoclet工具,我们可以将它们转换为我们需要的各种配置文件。先看一个简单的例子:
比如有一个java文件的源代码如下:
/**
* @hibernate.class
* table="T_Party"
*/
public class Party {
/**
* @hibernate.id
* generator-class="native"
*/
private int id;
/**
* @hibernate.many-to-one
* column="parentid"
*/
private Party parent;
/**
* @hibernate.set
* @hibernate.key
* column = "parentid"
* @hibernate.one-to-many
* class = "com.bjsxt.oa.model.Party"
*/
private Set children;
/**
* @hibernate.property
* column="thename"
*/
private String name;
/**
* @hibernate.property
*/
private String sn;
/**
* @hibernate.property
*/
private String description;
/**
*
* @return
*/
public Set getChildren() {
return children;
}
public void setChildren(Set children) {
this.children = children;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/**
*/
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Party getParent() {
return parent;
}
public void setParent(Party parent) {
this.parent = parent;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
}
通过xdoclet,我们可以得到关于这个类的Hibernate映射文件,如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class table="T_Party" name="com.bjsxt.oa.model.Party">
<id name="id">
<generator class="native"/>
</id>
<many-to-one column="parentid" name="parent"/>
<set name="children">
<key column="parentid"/>
<one-to-many class="com.bjsxt.oa.model.Party"/>
</set>
<property name="name" column="thename"/>
<property name="sn"/>
<property name="description"/>
</class>
</hibernate-mapping>
如何开始使用Xdoclet?
Xdoclet不是单独可以运行的工具(不像Ant工具),它可以与其它工具一起配合运行,如Ant。我们下面的例子就是基于Ant和xdoclet的。
首先需要保证ant是可用的
下载并解压xdoclet的包(我们现在使用的是xdoclet2,具体版本是xdoclet-plugins-1.0.3)。
在ant构建工具中定义xdoclet任务,并使用:
<?xml version="1.0" encoding="GBK"?>
<project name="OA系统构建脚本" default="生成Hibernate配置文件" basedir=".">
<property name="src.dir" value="${basedir}/src"/>
<property name="build.dir" value="${basedir}/bin"/>
<property name="webapp.dir" value="${basedir}/src/webapp"/>
<property name="xdoclet.home" value="D:/opensources/xdoclet/xdoclet-plugins-1.0.3"/>
<!-- Build classpath -->
<path id="xdoclet.task.classpath">
<fileset dir="${xdoclet.home}/lib">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${xdoclet.home}/plugins">
<include name="**/*.jar"/>
</fileset>
</path>
<taskdef
name="xdoclet"
classname="org.xdoclet.ant.XDocletTask"
classpathref="xdoclet.task.classpath"
/>
<target name="生成Hibernate配置文件">
<xdoclet>
<fileset dir="${src.dir}/com/bjsxt/oa/model">
<include name="**/*.java"/>
</fileset>
<component
classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
destdir="${src.dir}"
version="3.0"
hbm2ddlauto="update"
jdbcurl="jdbc:mysql://127.0.0.1/oa_200706"
jdbcdriver="com.mysql.jdbc.Driver"
jdbcusername="root"
jdbcpassword="mysql"
dialect="org.hibernate.dialect.MySQLDialect"
showsql="true"
/>
</xdoclet>
</target>
<target name="生成hibernate映射文件">
<xdoclet>
<fileset dir="${src.dir}/com/bjsxt/oa/model">
<include name="**/*.java"/>
</fileset>
<component
classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
version="3.0"
destdir="${src.dir}"
/>
</xdoclet>
</target>
</project>
以上就是一个完整的可运行的ant构建脚本。我们努力来理解这个文件把:
1、<property>标签定义一些变量,这些变量可以通过${变量名}的方式引用
2、<path>标签定义了类路径
3、<taskdef>标签定义了xdoclet任务(因为ant本身肯定是不包含xdoclet任务的)
4、我们在下面的两个<target>中,使用了<xdoclet>标签,这个标签正是我们自己定义的。
Xdoclet可以干什么?
Xdoclet实际上就是一个自动代码生成的工具,它可以生成各种各样的代码或配置文件(如果你很清楚xdoclet,你也可以对它进行扩展)。在默认的情况下,xdoclet已经给我们提供了很多的解决方案。这些解决方案叫做plugin,即插件。在xdoclet的官方网站上:http://xdoclet.codehaus.org,我们可以获得关于它支持的所有的plugin的情况。
Xdoclet通过plugin来支持代码的自动生成。我们要使用xdoclet,可以将它定义为ant的一个任务(如上所述)。然后就可以使用xdoclet了。在<xdoclet>标签内部使用xdoclet。由于xdoclet通常用来对源文件进行扫描,并读取源文件中的注释,然后再根据这些注释生成相应的配置文件,所以,通常我们需要定义让xdoclet扫描哪些源代码文件。对于这个需要,我们通过<fileset>标签来满足!
通过<component>标签,我们可以来使用xdoclet的众多plugin。上述例子,我们使用了xdoclet对hibernate支持的plugin。
具体如何使用这些plugin,请参考这些plugin的使用手册!!
分享到:
相关推荐
XDoclet是一款强大的Java开发工具,它主要用于自动生成文档、代码和配置文件。这个工具的主要优点在于它能够根据Java源代码中的注释自动生成各种框架的配置文件,比如EJB、Hibernate、Struts等,极大地提高了开发...
XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、config.xml配置文件、javascript校验等。本资源我在学习xdoclet过程中,总结完成的xoclet...
【XDoclet 与Hibernate 映射】 XDoclet 是一款强大的Java注解处理工具,它允许开发者在Java源代码中添加元数据,这些元数据可以用来自动生成各种配置文件,包括Hibernate的映射文件(hbm.xml)。这种方式极大地提高...
《XDoclet:Java开发中的自动化文档生成工具》 XDoclet是一款强大的Java开发工具,它的主要功能是自动生成Java应用程序的各种文档,如JavaDoc、EJB组件接口、Hibernate映射文件等,极大地减轻了开发者的工作负担。...
《XDoclet-Bin-1.2.3:自动化Java文档和代码生成工具》 XDoclet是一款在Java开发领域广泛应用的开源工具,其主要功能是通过解析Java源代码中的特定注解(annotations),自动生成相应的文档、部署描述符(如web.xml...
【xdoclet相关配置实例】 XDoclet是一个Java工具,它能够自动生成代码、部署描述符(如web.xml)和其他元数据,基于在Java源代码中的特定注解。这个工具在早期的Java开发中非常流行,尤其是在Spring MVC框架中,...
为了解决这个问题,XDoclet应运而生,特别是XDoclet2版本,它是一种自动化工具,能够根据Java源代码自动生成包括Hibernate映射文件在内的多种元数据文件。 XDoclet2是XDoclet的升级版,它基于JavaDoc注解,提供了一...
**XDoclet简介** XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的Javadoc注释,自动生成各种文件,如部署描述符(Deployment Descriptor)、持久化映射文件(Hibernate Mapping Files)、EJB组件...
《XDoclet:Java开发中的自动化文档生成利器》 XDoclet,这个名称或许对一些资深的Java开发者来说并不陌生,它是一个强大的自动化工具,由Rickard Oberg在EJBDoclet的基础上发展而来。EJBDoclet是早期的一个用于...
《XDoclet 生成 Hibernate 映射文件(HBM)详解》 在Java开发中,尤其是在使用Hibernate框架进行持久化操作时,通常需要为每个Java实体类编写对应的Hibernate映射文件(HBM)。然而,手动编写这些XML文件既耗时又...
《XDoclet in Action》中文版是一本深入探讨XDoclet高级用法的书籍,尤其适合对自动化代码生成感兴趣的读者。XDoclet是一款强大的Java工具,它可以基于Java源代码中的注释生成各种元数据,例如EJB、Hibernate、JMX等...
《XDoclet:Java代码自动生成的利器》 在Java开发过程中,为了提高效率和代码质量,开发者常常会借助自动化工具来生成重复的代码。XDoclet便是这样一款强大的工具,它通过解析Java源代码中的特定注解(Javadoc),...
xdoclet_lib则是XDoclet库的核心部分,包含了运行XDoclet所需的类库和资源文件,这些文件是XDoclet能够解析JavaDoc注释并生成配置文件的基础。 对于Eclipse 3.2用户来说,集成XDocletLib 1.2.3非常简单。首先,将...
《深入解析xdoclet在Java开发中的应用》 xdoclet是一个强大的Java源代码生成工具,它能够自动从Java文档注释(Javadoc)中提取信息,并基于这些信息自动生成各种代码,如Hibernate映射文件、EJB组件接口、Web服务...
XDoclet是一款强大的Java文档注解工具,它能够根据源代码中的特定注解自动生成配置文件,如Java EE相关的部署描述符(如ejb-jar.xml、web.xml等)以及Spring框架的XML配置文件。这款工具在早期Java开发中尤其受欢迎...
**XDoclet 插件1.0.3详解** XDoclet 是一款强大的Java文档生成器,它能够从源代码中的特定注释自动生成各种元数据,如JavaBeans、EJB、Hibernate、JBOSS、WebServices等的配置文件。在Java开发中,XDoclet极大地...
《XDoclet-1.2.1.jar:Maven构建中的关键组件》 在软件开发过程中,库和框架的管理是至关重要的。XDoclet-1.2.1.jar是其中的一个关键组件,尤其在使用Maven进行项目构建时。这个特定版本的XDoclet jar文件,对于...
《XDoclet与Eclipse:源码解析及应用》 XDoclet,作为一个历史悠久的Java开发工具,曾经在Java EE应用程序开发中占据了重要的地位。它是一款基于Java文档注解(Javadoc)的代码生成器,能够自动生成企业级应用所需...
在Java开发领域,Ant和Xdoclet是两个重要的工具,它们在构建自动化和元数据注解方面发挥着关键作用。本教程将详细讲解如何将Ant与Xdoclet整合,以便在Spring框架中利用元数据自动生成配置文件,提高开发效率。 Ant...