【问题标题】:Where to put the Spring Root application-context.xml in a multi-module application?将 Spring Root application-context.xml 放在多模块应用程序中的什么位置?
【发布时间】:2013-12-26 22:48:58
【问题描述】:

我的网络应用程序有 2 个模块:

  • 核心(服务、存储库/dao、实体等)
  • 网络(视图、控制器、转换器、过滤器等)

Web 模块具有带有 Spring MVC 定义的 dispatcher-context.xml。

我很困惑将 Spring Root Application Context (application-context.xml) 与 Data/JTA 定义放在哪里 - Web 模块或核心模块?

提前致谢!

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

    根应用程序上下文旨在包含最终应用程序中的每个组件都应该可用的 bean。 servlet 应用程序上下文旨在包含应仅对您的DispatcherServlet 堆栈可用的bean。 This question and its answer explain how Spring manages them.

    核心应包含根应用程序上下文,因为它声明了可供整个应用程序使用的服务、存储库和实体。

    【讨论】:

    • 感谢@SotiriosDelimanolis,但据我所知,经过进一步研究,root application-context.xml 和 servlet-context.xml 都在 web.xml 中声明。所以两者都驻留在网络模块中,对吧?
    • @rperson 小心,仅仅因为您在web.xml声明应用程序上下文位置并不意味着它必须在同一个包中。另一件需要考虑的事情是:你会有很多 Web 模块吗?他们会使用相同的应用程序上下文吗?如果不是,那么每个 Web 模块都有自己的应用程序上下文是有意义的。
    猜你喜欢
    • 2012-11-25
    • 2013-08-09
    • 1970-01-01
    • 2015-10-19
    • 2012-11-12
    • 2014-03-10
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多