汽車工廠不接受空車模型

工程 | Alef Arendsen | 2007年3月12日 | ...

上週五,我在我們一位客戶那裡結束了一個培訓課程。因為我在酒店裡有些空閒時間,所以我完善了我在培訓期間編寫的示例應用程式,以便將其線上釋出給參加培訓的人。通常我會在培訓期間嘗試找到一個與客戶領域相關的小型示例應用程式。這使得它比一些HelloWorld示例更生動一些。

這位客戶是一個大型汽車品牌,他們在整個組織中廣泛採用了 Spring。這就是我建立CarPlant系統來生產汽車的原因。您可以在下面找到一個UML圖,展示了系統中(相當微小)的域模型和服務。

在該應用程式中,我使用了您可能不太熟悉的各種技術。以下是您可以期待的一些內容列表:

  • @Required 依賴項 - 透過使用 RequiredAnnotationBeanPostProcessor,我們可以檢查某些依賴項是否已實際設定。此機制(當然僅在 Java 5 上可用)是 XML 中 dependency-check 屬性的一個非常好的替代方案。
  • @NotNull 引數檢查 - 這是一個我通常在培訓課程中展示的簡單方面。它使用一個由註解驅動的切點(我認為這是一種非常巧妙的驅動切點的方式)來檢查傳遞給方法的引數是否為 null(所以現在您知道標題指的是什麼了 ;-))。
  • 使用和不使用 HibernateTemplate 的 DAO - 以展示 Spring DAO 功能的靈活性。
  • 註解驅動的事務管理,如果您正在使用 Java 5,我絕對推薦這個功能。IMO,使用註解進行事務管理非常合適。
  • 一些整合測試 - 這個 Spring 的瑰寶(我認為我的看法並非唯一 ;-))在我拜訪客戶時使用得還不夠,所以讓我們更多地推廣 AbstractTransactionalDataSourceSpringContextTests(謝謝 Rod 的命名 :))。
  • 示例使用了 Maven,所以您必須安裝它,因為我沒有包含依賴項。

    carplant.png

    示例的原始碼: CarPlant.zip

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有