【发布时间】:2014-09-10 07:38:43
【问题描述】:
我正在开发一个在 Spring Boot(没有 web.xml)和 WebSphere(有 web.xml)上运行的应用程序。有一个控制器需要将 DispatcherServlet 注入其中。虽然它适用于 Spring Boot 环境,但在 WebSphere 上失败 - 找不到 DispatcherServlet 类型的 bean。
在 web.xml 中,我使用带有中间层的父上下文(上下文加载器侦听器)和几个具有独立上下文的调度程序。其中之一包含此类控制器(以及其他)。
为什么它不起作用?我的第一个假设是 Spring Boot 首先创建并注册 DispatcherServlet,然后扫描控制器,而当使用 web.xml 运行时,它以相反的顺序发生,因此控制器在 DispatcherServlet 可以从上下文访问之前被实例化。
我该如何解决这个问题?
【问题讨论】:
-
请原谅我问,但为什么需要将 DispatcherServlet 注入控制器?
-
用于批处理。
-
你能详细说明一下吗?
-
是的,但这与我的问题无关。我要问的是如何在我的控制器中获取 DispatcherServlet 的实例。
-
我问是因为我怀疑我们正在查看一个 XY 问题meta.stackexchange.com/questions/66377/what-is-the-xy-problem
标签: java spring spring-mvc inversion-of-control