2016-02-10 157 views
-1

我只是對Spring Boot對多模塊maven項目的支持程度感到好奇。在創建一個好的分層項目集時(尤其是建立各種JPA/JDO增強器)需要完成很多工作。我見過的所有樣本都放在一個項目中,這對於簡單的演示很合適。Spring Boot是否支持multimodule maven項目?

Spring Boot可以創建一個不錯的多模塊Maven項目,完成所有依賴項版本的管理,配置插件和其他相關最佳實踐,然後爲以下模塊設置子項目(從底部依賴鏈上):

  • 公地(常見的東西一切都取決於,utils的,等等)
  • 域(持久域對象 - JPA,JDO等)
  • 服務(服務層)
  • web(web &休息層)

這會非常有幫助。這需要小時最初設置,並有很多時間來適當地維護它。

+0

創建多個項目,這些項目與您所描述的只在一箇中心項目中使用的行相分離,這是很糟糕的。你爲什麼需要這個?沒有冒犯的意思,但如果需要幾個小時來創建這個結構並保持它,那麼有些事情是錯誤的。你所描述的是一個非常標準和簡單的Web項目結構。我認爲你的問題來自其他地方。 – cjstehno

+0

是的,我理解它,但我給的結構只是例如 – nivash

回答

7

在Maven模塊方面,Spring引導(或更普遍的彈簧)與您的項目結構無關。創建項目結構不是春天所做的一部分。

Maven在編譯時運行,編譯和打包必要的工件(罐子,戰爭...)。 Maven是依賴於項目結構的人。

Spring在運行時運行,一旦應用程序已經建好。應用程序的構建方式對他來說並不重要。

Spring可以訪問構成應用程序類路徑的類和資源。在多模塊項目的情況下,應用程序類路徑可以很好地由多個構件組成。

所以,彈簧可以在多模塊項目中工作,因爲它不關心項目的結構。它只關心在應用程序運行時必要的資源在類路徑中可用。

+2

很好的解釋。然而,spring-boot不僅僅是運行時,它更像是一個生態系統,統一了企業Java開發的各個方面,包括構建過程。 ['spring-boot-starter-web'](http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web)就是一個例子。 –

0

是的。你可以使用Spring-Boot進行多模塊maven項目。只要你需要包含適當的依賴關係。

+0

你可以給我一些例子或一些教程的鏈接? – nivash

+2

這是一個示例項目; https://github.com/mkarakaya/spring-boot-multi-module-maven – mokarakaya

相關問題