Hibernate cartridge學習總結
本文向大家介紹Hibernate cartridge,可能好多人還不了解Hibernate cartridge,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
這篇文章的目的不是為了提供所使用的工具或技術的詳細信息,而是提供應用 MDA 技術的體驗。請參閱 下載一節(jié) 獲得示例應用程序的完整源代碼。請參閱 參考資料 下載 AndroMDA 和 JBoss,它們是運行示例所需要的軟件。
開始
AndroMDA 使用 XML 元數(shù)據(jù)交換(XML Metadata Interchange,XMI)文件格式的輸出,幾乎所有的建模工具都基于特定于平臺的 cartridge 生成應用程序的源代碼。針對這個示例的目的,我將采用特定于 Spring 和 Hibernate cartridge。對于實際的 MDA 建模,我可以采用任何能導出(或保存)標準 XMI 的工具。AndroMDA 的主頁上推薦了一些免費或幾乎免費的工具,但是它沒有限定自己只能與這些工具一起工作。
有些 MDA 工具聲稱可以從統(tǒng)一建模語言(UML)的模型生成完整應用程序,有些則側重于消除多數(shù)冗余的編碼任務。AndroMDA 屬于后一類。在應用程序中,我需要編寫大約 10 行代碼,所以可以說 AndroMDA 將為我生成 95% 的代碼。
您將注意到 AndroMDA 采用 Maven(一個類似于 Ant 的開放源碼工具)管理安裝和一般性應用。AndroMDA 也可以和 Ant 一起使用,但是對于這個示例的目的,我建議采用 Maven。使用開放源碼工具可以保證每個人都能使用這個示例。
類圖
類圖 記錄構成模型的所有類。在查看應用程序生成的文件時,可發(fā)現(xiàn)比類圖中看到的更多的類和文件。幸運的是,這類支持類和文件,只有開發(fā)特定平臺的 cartridge 的架構師和程序員才需要考慮(例如示例使用的 Spring 和 Hibernate 的 cartridge)。像 AndroMDA 這樣的工具提供了 cartridge,并負責從它們生成文件,所以您可以把精力集中在應用程序建模上。
它加上了 <<Entity>> 構造型的標記,這告訴 AndroMDA 它是一個 Hibernate 實體。使用 Hibernate cartridge 意味著不用擔心應用程序持久性的處理:它是自動生成的。Cars 類加上了 <<Service>> 構造型的標記。這意味著它是業(yè)務邏輯層的一部分,業(yè)務邏輯用實體向其他層和同一層的類提供服務。在圖的頂部是控制器??梢钥吹?,應用程序需要三個控制器分別處理三個用例。
【編輯推薦】