`
wfwkiss
  • 浏览: 123655 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Xdoclet 基本概念

阅读更多
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 任务,并使用:

< span>name= "OA 系统构建脚本 " default= " 生成 Hibernate 配置文件 " basedir= "." >

< span>name= "src.dir" value= "${basedir}/src" />

< span>name= "build.dir" value= "${basedir}/bin" />

< span>name= "webapp.dir" value= "${basedir}/src/webapp" />

< span>name= "xdoclet.home" value= "D:/opensources/xdoclet/xdoclet-plugins-1.0.3" />

< span>id= "xdoclet.task.classpath" >

< span>dir= "${xdoclet.home}/lib" >

< span>name= "**/*.jar" />

< span>dir= "${xdoclet.home}/plugins" >

< span>name= "**/*.jar" />

< span>

name= "xdoclet"

classname= "org.xdoclet.ant.XDocletTask"

classpathref= "xdoclet.task.classpath"

/>

< span>name= " 生成 Hibernate 配置文件 " >

< span>dir= "${src.dir}/com/bjsxt/oa/model" >

< span>name= "**/*.java" />

< span>

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"

/>

< span>name= " 生成 hibernate 映射文件 " >

< span>dir= "${src.dir}/com/bjsxt/oa/model" >

< span>name= "**/*.java" />

< span>

classname= "org.xdoclet.plugin.hibernate.HibernateMappingPlugin"

version= "3.0"

destdir= "${src.dir}"

/>

以上就是一个完整的可运行的 ant 构建脚本。我们努力来理解这个文件把:

1 、 标签定义一些变量,这些变量可以通过 ${ 变量名 } 的方式引用

2 、 标签定义了类路径

3 、 标签定义了 xdoclet 任务(因为 ant 本身肯定是不包含 xdoclet 任务的)

4 、我们在下面的两个 中,使用了 标签,这个标签正是我们自己定义的。

Xdoclet 可以干什么?

Xdoclet 实际上就是一个自动代码生成的工具,它可以生成各种各样的代码或配置文件(如果你很清楚 xdoclet ,你也可以对它进行扩展)。在默认的情况下, xdoclet 已经给我们提供了很多的解决方案。这些解决方案叫做 plugin ,即插件。在 xdoclet 的官方网站上: http://xdoclet.codehaus.org ,我们可以获得关于它支持的所有的 plugin 的情况。

Xdoclet 通过 plugin 来支持代码的自动生成。我们要使用 xdoclet ,可以将它定义为 ant 的一个任务(如上所述)。然后就可以使用 xdoclet 了。在 标签内部使用 xdoclet 。由于 xdoclet 通常用来对源文件进行扫描,并读取源文件中的注释,然后再根据这些注释生成相应的配置文件,所以,通常我们需要定义让 xdoclet 扫描哪些源代码文件。对于这个需要,我们通过 标签来满足!

通过 标签,我们可以来使用 xdoclet 的众多 plugin 。上述例子,我们使用了 xdoclet 对 hibernate 支持的 plugin 。

具体如何使用这些 plugin ,请参考这些 plugin 的使用手册!!
分享到:
评论

相关推荐

    Xdoclet入门基础教程

    java 资源内容: Xdoclet基本概念;如何开始使用Xdoclet?Xdoclet可以干什么?

    Xdoclet入门教程

    Xdoclet基本概念 我们可以在java代码中使用类似于javadoc的注释,来表达更多的内容。这些额外的注释,通过使用xdoclet工具,我们可以将它们转换为我们需要的各种配置文件。先看一个简单的例子: 比如有一个java文件...

    xdoclet1 xdoclet1 spring3.0.5、struts1.3、struts2.1、 servlet

    XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、config.xml配置文件、javascript校验等。本资源我在学习xdoclet过程中,总结完成的xoclet...

    xdoclet-bin-1.2.1.zip和xdoclet-bin-1.2.3.zip

    xdoclet-bin-1.2.1.zip和xdoclet-bin-1.2.3.zip

    xdoclet-bin-1.2.1

    xdoclet-bin-1.2.1,xdoclet-bin-1.2.1,xdoclet-bin-1.2.1

    xdoclet 生成hbm文件

    在myeclipse中用xdoclet生成hbm文件

    xdoclet-1.2.1.jar

    xdoclet-1.2.1.jar jar包,缺少的可以拿去

    xdoclet-bin-1.2.3

    xdoclet-bin-1.2.3.zip

    XDoclet1.2+XDoclet教程

    XDoclet1.2+XDoclet教程

    XDoclet 与Hibernate 映射

    XDoclet 与Hibernate 映射 目前,生成POJO的Hibernate映射文件主要有以下三种方式: ①.手动编码、 ②.由数据库导出配置文件、 ③.XDoclet根据POJO自动生成配置文件。

    XDoclet2辅助开发hibernate3

    使用XDoclet2生成hibernate映射文件的简单实例

    xdoclet-1.2.1.zip

    xdoclet-1.2.1.zip

    xdoclet-bin-1.2.1.zip

     正如《XDoclet in Action》部分章节中文版一文中所说的“当初,XDoclet因为可以自动生成EJB繁杂的接口和部署描述文件而声名鹊起。然而,现在的XDoclet已经发展成了一个全功能的、面向属性的代码生成框架。J2EE代码...

    xdoclet-base-locale-1.2.1.jar

     正如《XDoclet in Action》部分章节中文版一文中所说的“当初,XDoclet因为可以自动生成EJB繁杂的接口和部署描述文件而声名鹊起。然而,现在的XDoclet已经发展成了一个全功能的、面向属性的代码生成框架。J2EE代码...

    xdoclet-相关配置实例

    通过Ant、xdoclet结合,来维护和管理工程的相关配置和部署。

    xdoclet-src-1.2.3.tgz

    XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的struts-config.xml配置文件、javascript校验等。  正如《XDoclet in ...

    Xdoclet介绍

    Xdoclet介绍[1].docx

    xdoclet-1.2.6.jar

    XDoclet是在Rickard Oberg创立的EJBDoclet基础上演变到来的一个工具

    xdoclet-plugins-1.0.3.rar

    xdoclet xdoclet-plugins-1.0.3.rar

Global site tag (gtag.js) - Google Analytics