【问题标题】:How to move business logic out of Spring MVC architecture如何将业务逻辑移出 Spring MVC 架构
【发布时间】: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


【解决方案1】:

这是 Java 新手经常问的一个问题。

我的方法是什么;当我开发应用程序时,我将业务操作和控制器类编写在单独的包中,并通过 JAR 引用它们。

如果您使用的是 spring,您可以通过扩展控制器类向控制器类添加一些自定义功能(我假设您没有使用注释),以便它们可以执行您通过使用 beans 提供给它们的业务操作类。

【讨论】:

    猜你喜欢
    • 2017-01-10
    • 1970-01-01
    • 2014-10-10
    • 2013-10-19
    • 1970-01-01
    • 2011-04-15
    • 2016-08-12
    • 2014-06-01
    • 2016-06-05
    相关资源
    最近更新 更多