CarPlant 不接受空的 CarModel

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

上週五,我在我們的一個客戶那裡完成了一項 培訓課程。 因為我在飯店裡有一些空閒時間,所以我潤飾了我在培訓期間編寫的範例應用程式,以便將其發布在網路上供培訓人員使用。 通常,我會嘗試找到一個針對客戶領域的範例應用程式,以便在培訓期間使用。 這使得它比某些 HelloWorld 範例更有活力。

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

在應用程式中,我使用各種你可能還沒看過的技術。 以下是你可以期待的一個小列表

  • @Required 依賴項 - 通過使用 RequiredAnnotationBeanPostProcessor,我們可以檢查是否實際設置了某些依賴項。 這種機制(當然僅在 Java 5 上可用)是 XML 中 dependency-check 屬性的一個非常好的替代方案
  • @NotNull 參數檢查 - 這是一個簡單的切面,我通常在培訓課程中展示。 它使用由註解驅動的切入點(我認為這是驅動切入點的非常簡潔的方式)來檢查傳遞給方法的空參數(所以現在你知道標題指的是什麼了 ;-))
  • 使用不使用 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 社群中所有即將到來的活動。

檢視全部