CarPlant 不接受空的 CarModels

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

上週五,我在我們的一位客戶那裡完成了一次培訓課程。 因為我在我住的酒店裡有一些時間可以打發,所以我修改了我在培訓期間編寫的示例應用程式,以便將其釋出到網上供培訓人員使用。 通常,我嘗試找到一個特定於客戶領域的示例應用程式,以便在培訓期間使用。 這使得它比一些 HelloWorld 示例更生動一些。

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

在該應用程式中,我使用了您可能還沒有看到很多種技術。 這是一個您可以期望的小列表

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

    carplant.png

    該示例的原始碼:CarPlant.zip

獲取 Spring 新聞通訊

與 Spring 新聞通訊保持聯絡

訂閱

取得領先

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

瞭解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

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

檢視全部