java - 如何在 Spring 中创建多 Web 模块应用程序?
问题描述
我正在尝试在 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 或战争,并将其添加到父库并运行应用程序并访问控制器
localhost:8080/parent
localhost:8080/purchase
localhost:8080/sales
有人可以让我知道春季可用的方法来实现它会有所帮助吗
提前致谢!
解决方案
关于每个项目的结构和职责,我建议将其建模为
父母
- 网络服务(只有控制器和视图,没有业务逻辑,业务逻辑委托销售和购买)
- 销售(销售业务逻辑 - 没有控制器和视图)
- 购买(购买业务逻辑 - 没有控制器和视图)
您可能需要为utils / persistence / entities添加其他模块,具体取决于您的具体要求。
关于构建本身,这里有几个选项,最广泛使用的 bing maven和gradle。它们都支持在父子模块中构建应用程序。它们都支持在另一个子模块中添加子模块的依赖项(因此您可以在web-service中添加对销售和购买的依赖项)。
maven 和 gradle 都会在构建该模块之前为给定模块构建所有需要的依赖项(因此可以保证sales和purchase将在web-service之前构建)。如果 maven 和 gradle 不能满足依赖关系,它们都会失败。
推荐阅读
- python - 没有名为“pygame.base”的模块
- makefile - 构建文件夹中的 `make -j `nproc` 给出:`make: *** 没有指定目标,也没有找到 makefile。停止。`macOS
- python - 比较不同的列以获得最高值,并将其余列返回为 NaN
- angular - 我可以为 favicon 使用角度材质图标吗?
- windows - 如何使用 windows 在 docker 中运行 Node-Red
- json - rml / r2rml 中是否有任何方法可以将值作为 IRI?
- javascript - 如何从 p5.js 中的特定点旋转矩形
- gdb - 在 gdb 中寻找特定功能
- mysql - 如何同时添加多个具有外键但我想稍后在 Django 中分配它们的项目?
- javascript - 从 url 中删除搜索查询而不刷新页面?