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

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

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

    隨筆-57  評論-129  文章-0  trackbacks-0

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

    PPT見:http://m.tkk7.com/jindw/archive/2007/06/30/127195.html

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

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

     


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

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

    評論:
    # re: 代碼生成工具示例工程 2007-11-21 11:04 | happy
    你好,我的QQ:122198003,你能加我嗎?我主要想請教你如何正確使用java6中的http server。謝謝了。  回復(fù)  更多評論
      
    主站蜘蛛池模板: 亚洲中文字幕AV在天堂| 亚洲福利视频一区二区三区| 亚洲国产成人精品无码区花野真一 | 1000部无遮挡拍拍拍免费视频观看| 亚洲AV日韩AV永久无码绿巨人 | 人与禽交免费网站视频| 亚洲男人天堂2017| 啦啦啦完整版免费视频在线观看 | 女人18特级一级毛片免费视频| 亚洲一区二区三区无码国产| 久久久久国色AV免费看图片 | 国产激情久久久久影院老熟女免费 | 免费人成年轻人电影| 免费无码AV一区二区| 久久久久亚洲AV成人网人人网站 | 97精品免费视频| 国产精品亚洲四区在线观看| 日韩免费高清视频| 韩国免费A级毛片久久| 亚洲av无码片在线播放| 国产无人区码卡二卡三卡免费| 亚洲欧美第一成人网站7777| 亚洲成人一区二区| 黄网站免费在线观看| 亚洲综合丁香婷婷六月香| 国产又粗又猛又爽又黄的免费视频 | 成人免费一区二区无码视频| 免费中文字幕视频| 97久久精品亚洲中文字幕无码| 野花高清在线电影观看免费视频| 香蕉视频亚洲一级| 亚洲AV综合色区无码另类小说| 免费观看AV片在线播放| 日本中文字幕免费看| 亚洲国产精品久久久久婷婷软件 | 岛国大片免费在线观看| 成人片黄网站色大片免费观看cn | 99re免费在线视频| 亚洲av第一网站久章草| 亚洲精品在线观看视频| 日本免费的一级v一片|