2016-02-10 120 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

相关问题