【发布时间】:2017-01-12 15:01:36
【问题描述】:
我正在使用 Spring MVC 框架构建一个新的 Java Web 应用程序,同时我正在使用一个混合框架(Cordova 等)构建一个移动应用程序。所有模块都在 Intellij 的同一个项目中,我使用 Maven 作为存储库。 我想在 Web 应用程序和移动应用程序之间共享业务逻辑,但我无法将 Spring 服务层移出 Spring MVC。 我试图在项目中创建一个新的 Java 模块,但我不明白如何使用正确的架构在两个应用程序之间链接模块。
我可以将服务层移出 Web 应用程序的外部 Java 模块吗? 如果我不能做到这一点,我该如何管理 Web 应用和移动应用之间的共享业务逻辑?
如有任何疑问,请咨询我。
谢谢!
【问题讨论】:
-
创建一个单独的 jar 模块并将这个模块作为依赖添加到您的 web 应用和移动应用的 pom.xml 中
-
理想情况下,您有一个后端服务和使用该服务的前端应用程序。那么就不需要共享代码了。
-
尽量使用三层架构,即依赖为:client tier(ui, controller layer) -> business logic tier(service layer) -> dao (repository layer) 。正如@GreyGoose 所说 - 您可以为所有这一层使用单独的 jar 模块(对于 ui,您可以使用 war)。
标签: java maven spring-mvc intellij-idea business-logic