MDA (Model-Driven Architecture):以平台無關模型 (PIM) 為核心,通過映射規則生成平台相關模型 (PSM) 及代碼。AndroMDA 屬於「消除樣板代碼」流派:生成 95% 基礎設施代碼 (持久層、控制器、視圖綁定),開發者僅填寫 ~10 行業務邏輯。不承諾「全自動生成完整應用」,但極大提升構建標準化企業級 Web 應用的效率。
spring, hibernate, jsf/struts)
<<FrontEndUseCase>> (需生成 UI)、<<FrontEndApplication>> (首頁入口)

getAllCars()、createCar())addNewCar(make, model, year)),AndroMDA 据此生成表單字段
<<Entity>> Car:Hibernate 實體,自動生成映射、DAO、表結構<<Service>> Cars:業務邏輯門面,方法 getAllCars(), createCar(), removeCar()model/ 目錄pom.xml 引入 AndroMDA Maven Plugin 與目標 Cartridgemvn clean install (首次下載依賴) 或 mvn -o install (離線)target/generated-sources/ → 編譯打包| 文件 | 職責 | 關鍵代碼片段 |
|---|---|---|
CarsImpl.java | Service 實現 | |
ListCarsControllerImpl.java | 控制器 | |
AddCarsControllerImpl.java | 控制器 | 從表單取參數調用 getCars().createCar(...) |
RemoveCarsControllerImpl.java | 控制器 | 調用 getCars().removeCar(id) |
編輯 [JBOSS_HOME]/server/[NAME]/deploy/hsqldb-ds.xml,取消註釋:
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
<mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic">
<attribute name="Port">1701</attribute>
<attribute name="Silent">true</attribute> ...
</mbean>
啟用 TCP 端口 1701,使 Hibernate 能以網絡模式連接 HSQLDB。
mvn create-schema — 基於 Hibernate 映射自動建表mvn deploy — 打包 EAR/WAR 並熱部署到 JBosshttps://localhost:8080/cars — 看到生成的列表/新增/刪除頁面
core/:持久層 (Entity, DAO, Hibernate 映射)、服務層接口/基類web/:JSP、CSS、Controller 實現、JSF/Struts 配置app/:EAR 組裝、應用級配置CarsImpl 等 Service 實現類適用場景:標準 CRUD 密集型企業應用、後台管理系統、數據驅動型 Web 門戶。複雜域邏輯、高度定制化 UI 仍需手工編寫,但基礎設施零負擔。