浏览 8853 次
锁定老帖子 主题:代码生成工具示例工程
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-06
http://sourceforge.net/projects/txdoc),也顺便吧这个代码生成工具整理出来。
大约两年前私下编写一个wiki时使用的代码生成工具,最近想继续这个wiki项目(
PPT见:http://www.iteye.com/topic/95580 eclipse项目,文件太大,只好分成三分上传。 其中,代码生成工具及一些基础类库在web/WEB-INF/lib/xdoclet-xidea-plus.jar文件中(附源码) 引用 目录结构 src/main: 源文件 src/gen: 生成的源文件及配置文件 src/test: 测试类 build: ant 脚本(build.xml)、ant配置、构建过程的临时目录(temp) web: web根目录 lib: 编译器附加类库(如ant任务需要的lib) doc: 文档目录 doc/xdoclet: xdoclet参考文档 一.创建持久类: 1.改类为一个有诺干属性的简单java类 2.为持久类打上hibernate标记: 必要标记:hibernate.class(指定该类为持久类,无必选属性,可选属性参考xdoclet文档) hibernate.id (指定持久类主键,必选属性generator-class,指定主键生成算法,常用算法有uuid.hex、hilo、assigned....) 常用标记:hibernate.property(指定持久属性,无必选属性) hibernate.cache(预定义查询,必选属性 name,query) hibernate.one-to-many,hibernate.many-to-one等,指定对象关系,比较复杂,建议先看hibernate官方文档、xdoclet文档 3.打开项目下build/build.xml、运行hibernate任务,该任务将生成hibernate映射文件、hibernate dao实现、hibernate的spring配置,及dao配置。 其中hibernateDao实现常用DAO方法,并定义以后将使用的常量:如预定义查询名、预定义查询参数名、集合名,等等。 4.持久类的路径一般为:src/main/{package}/po/{TableName}.java ,生成的DAO路径为src/main/{package}/dao/{TableName}Dao.java 二.创建Spring服务实现: 1.Spring服务实现无任何接口约束,普通java对象即可。 2.将需要使用的hibernate Dao 声明为该服务类的属性(spring.property标记)。 3.为服务类打上spring标记: 必要标记:spring.bean(parent:对于所有需要spring事务支持的javabean,必须声明parent属性值为"transactionProxy"; 生成工具将根据类名为spring bean自动生成默认 id,) 常用标记:spring.property(spring 属性)。 spring.transaction(对于parent=transactionProxy的bean,需要为需要声明是事务支持的方法声明事务属性,具体请参考xdoclet文档) 4.打开项目下build/build.xml、运行spring任务,该任务将生成spring配置文件。 三.创建XWork Action,一般为*/action/*.java 1.Action需要实现com.opensymphony.xwork.Action,如果我们需要xwork的国际化支持,继承ActionSupport基类,必然需要实现TextProvider接口。 2.为Action打上xwork标记: 必要标记:xwork.package(必要属性有name), xwork.action(必要属性name,表示某方法为Action方法,将映射到一个具体的url地址), xwork.result(必要属性name,该标记定义在定义了xwork.action的地方,可定义多个,表示该Action的结果集) 常用属性: xwork.spring-ref (属性的set方法上,其值将从spring context中获取) 3.为Action制作结果集页面: 若未在 xwork.result标记中定义value属性,其值未ActionName+"-"+resultName,若有大写字符,将用"-"隔开,并转小写; value值即未页面地址。可以为jsp,velocity,xsl等等。 4.打开项目下build/build.xml、运行xwork任务,该任务将生成xwork配置文件。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-07-06
Thanks, jindw.
你在杭州? |
|
返回顶楼 | |
发表时间:2007-07-08
withoutmewang 写道 Thanks, jindw.
你在杭州? 现在在江西老家,杭州是我现在向往的城市:) |
|
返回顶楼 | |
发表时间:2007-07-08
金大为兄?好像前几天在BlogJava看见你有发这个。那时下载过看了一下,好像有些明白。我自己想写个这样的生成器,到时请教你咯。
|
|
返回顶楼 | |