【问题标题】:How to create multi web module application in spring?如何在 Spring 中创建多 Web 模块应用程序?
【发布时间】:2018-09-18 10:34:49
【问题描述】:

我正在尝试在 spring 中创建一个多 Web 模块应用程序。下面是项目结构。

+-- Parent
|---- Java (Which has the controller, models and views)
|---- resources
|---- webapp
|------ web.xml
|------ jsp 
+-- Purchase (Submodule 1)
|---- Java (Which has the controller, models and views)
|---- resources
|---- webapp
|------ web.xml
|------ jsp 
+-- Sales (Submodule 2)
|---- Java (Which has the controller, models and views)
|---- resources
|---- webapp
|------ web.xml
|------ jsp 

我想将购买(子模块 1)和销售(子模块2)构建为单独的 jar 或 war,并将其添加到父库并运行应用程序并以身份访问控制器

localhost:8080/parent
localhost:8080/purchase
localhost:8080/sales

有人可以告诉我春季可用的方法来实现它会有所帮助

提前致谢!

【问题讨论】:

  • 这种结构有什么好处?我认为您可以在视图层中将它们分开。
  • 我正在尝试将其作为即插即用模块。在某些情况下,我只需要 parent & purchase 或 parent & sales。
  • 你用的是spring boot吗?功能标记可能更符合您想要实现的目标。 baeldung.com/spring-feature-flags
  • @Dean 我用的是spring mvc,我去看看链接。

标签: java spring maven spring-mvc


【解决方案1】:

关于每个项目的结构和职责,我建议将其建模为

父母

  • 网络服务(只有控制器和视图,没有业务逻辑,业务逻辑委托销售和采购)
  • 销售(销售业务逻辑 - 无控制器和视图)
  • 购买(购买业务逻辑 - 没有控制器和视图)

您可能需要为 utils / persistence / entities 添加其他模块,具体取决于您的具体要求。

关于构建本身,这里有几个选项,最广泛使用的 bing ma​​vengradle。它们都支持在父子模块中构建应用程序。它们都支持为另一个子模块中的子模块添加依赖项(因此您可以在 web-service 中添加对 salespurchase 的依赖项>)。

maven 和 gradle 都会在构建该模块之前为给定模块构建所有需要的依赖项(因此保证 salespurchase 将在之前构建网络服务)。如果 maven 和 gradle 不能满足依赖关系,它们都会失败。

【讨论】:

  • 我遇到了这种方法,但如果这不是请求的一部分,我需要在最终构建(战争)中跳过该功能。
【解决方案2】:

我认为这与您使用的网络服务器有关。只需将它们设置为不同的上下文根。你应该看看这个答案 https://stackoverflow.com/a/32008624/7541163

【讨论】:

    猜你喜欢
    • 2018-08-30
    • 2018-09-06
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    相关资源
    最近更新 更多