环境:
春季4
冬眠4
MySQL
Spring
发行:
我正在为CRUD操作编写一个简单的基于REST的应用程序。
架构/组件如下:

我有以下设计问题:
1.春季应用程序中的,最佳实践是有两个独立的上下文-
( applicationContext:i) :通过ContextLoaderListener初始化(用于服务abd daoLayerClasses)
webApplicationContext:通过Dispather初始化(用于控制器/视图解析器)
2.然而,我还没有看到任何使用上述两种上下文的基于Spring的示例应用程序。只使用Dispatcher servlet appraoch。
3.因此,为基于REST的应用程序创建两个独立的上下文(如上面的体系结构所示)是否会是过度的和不必要的?
或者,最好在WebApplicationContext (@RestController)和ApplicationContext包含(@Services,@Repository)中创建分开弹簧休息层的两个上下文。
发布于 2015-12-20 07:23:40
我认为完全没有必要为您的Controllers和Service/Repository类创建单独的上下文,除非您考虑使用多个调度器或类似的东西。一般来说,你应该保持简单,尽可能少的上下文。
发布于 2015-12-20 08:02:00
这个问题的答案将是主观的,但正如在其他线程和Spring博士中提到的,两个上下文是典型的,但不是唯一的方法。
我认为主要的原因是当您有UI和API时,才能将它们分开。它们可能依赖于相同的后端服务,但可能不应该有混合的bean。
https://stackoverflow.com/questions/34378724
复制相似问题