XDoclet

XDoclet可以通過你在java原始碼中的一些特殊的注釋信息,自動為你生成配置檔案、原始碼等等,例如web、ejb部署描述檔案、為你生成struts的struts-config.xml配置檔案、javascript校驗等。

基本介紹

  • 外文名:XDoclet
  • 屬性:一個開源項目
  • 作用:自動為你生成配置檔案、原始碼等
  • 領域:struts
語言概述,語言特徵,

語言概述

正如《XDoclet in Action》部分章節中文版一文中所說的“當初,XDoclet因為可以自動生成EJB繁雜的接口和部署描述檔案而聲名鵲起。然而,現在的XDoclet已經發展成了一個全功能的、面向屬性的代碼生成框架。J2EE代碼生成只是XDoclet的一個套用方面,它可以完成的任務已經遠遠超越了J2EE和項目文檔的生成。”

語言特徵

目前的版本可以為web、ejbstrutswebworkhibernatejdojmx等等生成描述檔案、源碼等,XDoclet提供了ant的任務target支持,完全通過ant來完成任務。
展開XDoclet的發布包,samples目錄下有直接可以運行的ant腳本檔案。這裡以web套用target為例,說明XDoclet能為我們作些什麼。
下面是samples中一個struts的action代碼:
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;/** * Simple class to test Jakarta Struts generation (Jakarta Struts 1.2 beta 2 only). * * @struts.action * path="/struts/foo" * * @struts.action-forward * name="success" * path="/struts/getAll.do" * redirect="false" */public final class StrutsAction extends Action{    public ActionForward execute(ActionMapping mapping, ActionForm form,                                 HttpServletRequest request, HttpServletResponse response)    {        return mapping.findForward("success");    }}
注意紅色的注釋部分,注意執行完ant腳本後,將為你生成struts-config.xml中相關的配置項,以下是腳本執行後生成的struts-config.xml檔案中的配置:
<!-- ========== Action Mapping Definitions =================================== --><action-mappings>  <action      path="/struts/foo"      type="test.web.StrutsAction"      unknown="false"      validate="true"      >    <forward        name="success"        path="/struts/getAll.do"        redirect="false"        />  </action>
至此一點我們便可以了解XDoclet是如何工作的了,想想struts中的vaild配置檔案、struts-config配置檔案等需要我們大量的手工工作,如果再寫代碼的時候把相關的元數據信息寫在注釋里,XDoclet將為我們自動完成這些工作,當然像 @struts.action 、@struts.action-forward 等這些特定的注釋標籤需要去查XDoclet的相關文檔了,像前面說的一樣,Xdoclet對目前流行的多種框架、技術都提供了相關的支持。相信在一些情況下,Xdoclet會大大提高我們的工作效率的

相關詞條

熱門詞條

聯絡我們