【发布时间】:2017-10-18 15:39:47
【问题描述】:
这是我的总体目标:我想要一个 Spring Boot REST API。最终,这将有一个 Angular 前端。 REST API 将有许多 JPA 实体。我需要能够在 Jasper Reports Server 以及我的 REST API 中使用这些实体。为此,我认为最好的方法是多模块 Maven 项目。我的设置将如下所示:
- Project
--Web App
--Utilities
--HumanResources
--Sales
--etc.
Web App、Utilities、HumanResources、Sales 等都是模块。我可以在 Web 应用程序中使用 Utilities,但构建也会生成一个单独的 jar,我可以在 Jasper 中使用它(至少这是我的希望)。
理想情况下,我希望只有一个用于 Spring Boot 的 application.properties 文件。但是,据我所见,如果我将 application.properties 文件放在 Web App 模块中,那么我所有的 Utilities、Sales 等单元测试(至少任何需要数据库连接的测试)都需要在 Web 中应用程序。这似乎也不理想,但如果我将所有测试放在他们自己的模块中,似乎我需要在每个模块中都有一个 application.properties 文件,这也似乎令人困惑。
我的方法有效吗,还是有更好的方法?我怎样才能在每个模块上进行测试,但仍然以简单的方式将所有内容联系在一起?
谢谢!
【问题讨论】:
-
每个模块都应该有自己的测试类。
-
@araknoid 那么我应该在每个模块中复制 application.properties 文件,还是有办法解决这个问题?
-
您可以将所有配置/公共部分放在一个公共模块中,该模块将保存需要在模块之间共享的所有内容,而无需复制它们
标签: java maven spring-boot junit