【问题标题】:Spring Application Architecture DesignSpring 应用架构设计
【发布时间】:2016-03-26 12:38:20
【问题描述】:

环境:

春季 4

休眠 4

MySQL

Spring MVC REST

问题:

我正在为 CRUD 操作编写一个简单的基于 REST 的应用程序。

架构/组件如下:

我有以下设计问题:

1. 在 Spring Application 中,最好的做法是拥有两个独立的上下文 -

i) applicationContext :通过 ContextLoaderListener 初始化(用于服务 abd daoLayerClasses)

ii) webApplicationContext:通过 Dispather servlet 初始化(用于控制器/视图解析器)

2. 但是,我没有看到任何使用上述两个上下文的示例基于 Spring REST 的应用程序。仅使用 Dispatcher servlet 方法。

3. 那么,如上述架构所示,为基于 REST 的应用程序创建两个单独的上下文会不会是矫枉过正和不必要的?

或者最好在 WebApplicationContext (@RestController) 和 ApplicationContext 中创建两个上下文分隔 SPRING REST 层 (@Services,@Repository)

【问题讨论】:

标签: spring hibernate rest spring-mvc


【解决方案1】:

我认为完全没有必要为 ControllersService/Repository 类创建单独的上下文,除非您考虑拥有多个调度程序或类似的东西。一般来说,你应该保持简单,尽可能少的上下文。

【讨论】:

    【解决方案2】:

    这个问题的答案是主观的,但正如其他线程和Spring MVC docs 中提到的那样,两个上下文是典型的,但不是唯一的方法。

    我认为将它们分开的主要原因是当您拥有 UI 和 API 时。它们可能依赖于相同的后端服务,但可能不应该有混合的 bean。

    【讨论】:

      猜你喜欢
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2010-09-28
      • 2021-01-05
      • 2015-06-24
      • 2013-12-08
      相关资源
      最近更新 更多