<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-57  評(píng)論-129  文章-0  trackbacks-0

    大約兩年前私下編寫(xiě)一個(gè)wiki時(shí)使用的代碼生成工具,最近想繼續(xù)這個(gè)wiki項(xiàng)目(http://sourceforge.net/projects/txdoc),也順便吧這個(gè)代碼生成工具整理出來(lái)。

    PPT見(jiàn):http://m.tkk7.com/jindw/archive/2007/06/30/127195.html

    eclipse項(xiàng)目,文件太大,SF文件發(fā)布系統(tǒng)最近問(wèn)題多多,只好分成三分上傳在javaeye blog:http://jindw.javaeye.com/blog/98436

    其中,代碼生成工具及一些基礎(chǔ)類庫(kù)在web/WEB-INF/lib/xdoclet-xidea-plus.jar文件中(附源碼)

     


    目錄結(jié)構(gòu)
        src/main:   源文件
        src/gen:     生成的源文件及配置文件
        src/test:    測(cè)試類
        build:       ant 腳本(build.xml)、ant配置、構(gòu)建過(guò)程的臨時(shí)目錄(temp)
        web:         web根目錄
        lib:          編譯器附加類庫(kù)(如ant任務(wù)需要的lib)
        doc:         文檔目錄
        doc/xdoclet: xdoclet參考文檔
       
       
    一.創(chuàng)建持久類:
      1.改類為一個(gè)有諾干屬性的簡(jiǎn)單java類
      2.為持久類打上hibernate標(biāo)記:
         必要標(biāo)記:hibernate.class(指定該類為持久類,無(wú)必選屬性,可選屬性參考xdoclet文檔)
                hibernate.id (指定持久類主鍵,必選屬性generator-class,指定主鍵生成算法,常用算法有uuid.hex、hilo、assigned....)
         常用標(biāo)記:hibernate.property(指定持久屬性,無(wú)必選屬性)
                hibernate.cache(預(yù)定義查詢,必選屬性 name,query)
                hibernate.one-to-many,hibernate.many-to-one等,指定對(duì)象關(guān)系,比較復(fù)雜,建議先看hibernate官方文檔、xdoclet文檔
                 
      3.打開(kāi)項(xiàng)目下build/build.xml、運(yùn)行hibernate任務(wù),該任務(wù)將生成hibernate映射文件、hibernate dao實(shí)現(xiàn)、hibernate的spring配置,及dao配置。
        其中hibernateDao實(shí)現(xiàn)常用DAO方法,并定義以后將使用的常量:如預(yù)定義查詢名、預(yù)定義查詢參數(shù)名、集合名,等等。
       
      4.持久類的路徑一般為:src/main/{package}/po/{TableName}.java ,生成的DAO路徑為src/main/{package}/dao/{TableName}Dao.java
     
    二.創(chuàng)建Spring服務(wù)實(shí)現(xiàn):
      1.Spring服務(wù)實(shí)現(xiàn)無(wú)任何接口約束,普通java對(duì)象即可。
      2.將需要使用的hibernate Dao 聲明為該服務(wù)類的屬性(spring.property標(biāo)記)。
      3.為服務(wù)類打上spring標(biāo)記:
        必要標(biāo)記:spring.bean(parent:對(duì)于所有需要spring事務(wù)支持的javabean,必須聲明parent屬性值為"transactionProxy";
                 生成工具將根據(jù)類名為spring bean自動(dòng)生成默認(rèn) id,)
        常用標(biāo)記:spring.property(spring 屬性)。
              spring.transaction(對(duì)于parent=transactionProxy的bean,需要為需要聲明是事務(wù)支持的方法聲明事務(wù)屬性,具體請(qǐng)參考xdoclet文檔)
      4.打開(kāi)項(xiàng)目下build/build.xml、運(yùn)行spring任務(wù),該任務(wù)將生成spring配置文件。
     
    三.創(chuàng)建XWork Action,一般為*/action/*.java
      1.Action需要實(shí)現(xiàn)com.opensymphony.xwork.Action,如果我們需要xwork的國(guó)際化支持,繼承ActionSupport基類,必然需要實(shí)現(xiàn)TextProvider接口。
      2.為Action打上x(chóng)work標(biāo)記:
        必要標(biāo)記:xwork.package(必要屬性有name),
                xwork.action(必要屬性name,表示某方法為Action方法,將映射到一個(gè)具體的url地址),
                xwork.result(必要屬性name,該標(biāo)記定義在定義了xwork.action的地方,可定義多個(gè),表示該Action的結(jié)果集)
        常用屬性: xwork.spring-ref (屬性的set方法上,其值將從spring context中獲取)
       
      3.為Action制作結(jié)果集頁(yè)面:
        若未在 xwork.result標(biāo)記中定義value屬性,其值未ActionName+"-"+resultName,若有大寫(xiě)字符,將用"-"隔開(kāi),并轉(zhuǎn)小寫(xiě);
        value值即未頁(yè)面地址。可以為jsp,velocity,xsl等等。
     
      4.打開(kāi)項(xiàng)目下build/build.xml、運(yùn)行xwork任務(wù),該任務(wù)將生成xwork配置文件。
     
     

     
    posted on 2007-07-06 14:37 金大為 閱讀(1050) 評(píng)論(1)  編輯  收藏 所屬分類: Java

    評(píng)論:
    # re: 代碼生成工具示例工程 2007-11-21 11:04 | happy
    你好,我的QQ:122198003,你能加我嗎?我主要想請(qǐng)教你如何正確使用java6中的http server。謝謝了。  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 国拍在线精品视频免费观看| 亚洲A∨精品一区二区三区| 亚洲色大情网站www| 国产免费资源高清小视频在线观看| 一级毛片免费在线观看网站| 亚洲沟沟美女亚洲沟沟| 全部免费毛片免费播放| 久久成人a毛片免费观看网站| 亚洲综合精品成人| 中文字幕亚洲激情| 国产成人免费爽爽爽视频| www在线观看免费视频| 亚洲天堂电影在线观看| 亚洲福利在线播放| 四虎成年永久免费网站| 一区二区三区免费看| 亚洲av成人一区二区三区| 亚洲中文字幕在线观看| 四虎成人免费网站在线| 无码精品国产一区二区三区免费| 自拍偷自拍亚洲精品播放| 亚洲系列国产精品制服丝袜第| 亚洲国产人成精品| 免费无码黄十八禁网站在线观看| 99re6在线视频精品免费| 午夜亚洲国产精品福利| 久久精品国产亚洲AV久| 亚洲Av永久无码精品三区在线| 国产嫩草影院精品免费网址| 午夜免费1000部| 免费看成人AA片无码视频吃奶| 色噜噜噜噜亚洲第一| 亚洲日韩国产精品乱-久| 日木av无码专区亚洲av毛片| 亚洲国产电影av在线网址| 成人免费无码视频在线网站| 精品无码人妻一区二区免费蜜桃| eeuss影院免费直达入口| 国产亚洲欧美在线观看| 亚洲综合一区国产精品| 中文字幕亚洲综合小综合在线 |