xdoclet 工具使用

翻译 2012年03月03日 22:19:18
 

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代码中使用类似于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的。

 

1、  首先需要保证ant是可用的

2、  下载并解压xdoclet的包(我们现在使用的是xdoclet2,具体版本是xdoclet-plugins-1.0.3)。

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的使用攻略
  • jianxin1009
  • jianxin1009
  • 2013年08月06日 10:09
  • 3186

Xdoclet + Ant自动生成Hibernate配置文件

在使用Hibernate的时候,过多的Hibernate配置文件是一个让人头疼的问题。最近接触了Xdoclet这个工具。它实际上就是一个自动代码生成的工具,Xdoclet不能单独运行,必须搭配其他工具...
  • lishehe
  • lishehe
  • 2014年07月11日 11:01
  • 1995

通过Ant+Xdoclet生成Hibernate配置文件和映射文件

在上篇文章中,我们介绍了Ant的基本概念及其简单的使用方法,在文章的最后有一个例子用到了Xdoclet相关内容,本篇文章主要来介绍Xdoclet以及通过Ant+Xdoclet生成Hibernate配置...
  • jnqqls
  • jnqqls
  • 2013年04月26日 16:48
  • 1525

OA—Ant构建工具和基于Ant的XDoclet开源项目的应用

Ant是一个基于java的构建工具,在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式。     1、对Ant进行配置,首先确定电脑上已经安装了JDK,确保path环境变量中包含了java...
  • u010928470
  • u010928470
  • 2015年01月08日 21:07
  • 673

Xdoclet工具入门

Xdoclet基本概念        我们可以在java代码中使用类似于javadoc的注释,来表达更多的内容。这些额外的注释,通过使用xdoclet工具,我们可以将它们转换为我们需要的各种配置文件...
  • ziyunyangyong
  • ziyunyangyong
  • 2011年09月23日 20:58
  • 3459

xdoclet与Ant结合使用-简单例子

1.将xdoclet解压到  D:/xdoclet/xdoclet-plugins-1.0.3 下 2.建包com.xk.oa.model并在包下建个User类,并用javadoc注解 pac...
  • ZKLxuankai
  • ZKLxuankai
  • 2012年08月09日 20:41
  • 442

使用Xdoclet和Ant构建Hibernate映射和配置文件

svn地址:http://xdocletdemo.googlecode.com/svn/trunk/ 功能描述:         在ssh项目中,你是否存在着这样一种困惑,那就是需要手动去配置...
  • judyge
  • judyge
  • 2016年02月24日 11:24
  • 162

XDoclet的使用攻略

XDoclet的使用攻略
  • jianxin1009
  • jianxin1009
  • 2013年08月06日 10:09
  • 3186

记Xdoclet使用过程

Xdoclet不是单独可以运行的工具(不像Ant工具),它可以与其它工具一起配合运行,如Ant。我们下面的例子就是基于Ant和xdoclet的。   1、 首先需要保证ant是可用的 2、 下载并解压...
  • yunpyy
  • yunpyy
  • 2013年10月20日 22:44
  • 404

xdoclet的使用

  • 2008年11月23日 10:49
  • 220KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xdoclet 工具使用
举报原因:
原因补充:

(最多只允许输入30个字)