我已经按照这里的建议-> 如何在 web.xml 中将 HttpServlet 与 Spring Application Context 连接起来,以允许访问 servlet 中的 spring bean。它似乎适用于单例 bean,但是我需要在我的 handleRequest() 方法中访问请求范围的 bean。
照原样,请求范围的 bean 不能连接到 HttpRequestHandler,因为它是单例范围的,因此范围不匹配。
我尝试使我的 HttpRequestHandler 成为请求范围的 bean,但是这仍然只产生一个 bean。即没有为每个请求注入一个新实例。我只能假设 org.springframework.web.context.support.HttpRequestHandlerServlet 采用的机制不允许每个请求都有一个新的实例。
我的解决方法是直接从handleRequest 方法中的应用程序上下文中获取bean,例如
Calendar localNow = (Calendar) applicationContext.getBean("now");
但理想情况下,我只想为我注入请求范围的 bean。
有什么建议么?