@Autowired HttpServletResponse

我正在寻找一种自动接线的方法HttpServletResponse。开箱即用的弹簧无法使用,但是我找到了这个描述。这行得通,但是有点烦人,因为那个春天显然有一种机制可以使对象请求的作用域范围(即HttpServletRequest),并且这似乎是一个扎根于顶部的技巧。

有没有办法钩住spring所用的相同机制HttpServletRequest?而且,您知道spring团队为什么决定只使HttpServletRequest自动装配功能(并排除在外HttpServletResponse)吗?

回答:

也许有一些解决方法,但这并不是很明显,因为这不是它的本意。Spring

MVC旨在具有单例@Controllerbean,@RequestMapping这些bean提供以请求和响应为参数的方法。

如果您需要在其他地方(服务层)进行响应-请勿这样做。响应不应超出网络(控制器)层。

要注入响应,您需要:-将响应存储在ThreadLocal -中以使工厂bean返回当前响应

关于您显示的示例代码-我不确定您是否不需要工厂bean返回代理(实现HttpServletResponse),而代理又返回当前响应。而且它变得相当复杂。

但最终-您不应该这样做。如果需要拦截多个控制器调用,请使用mvc-

interceptor。如果确实需要使用方面,则可以将响应作为参数传递给截获的方法来获取响应。

以上是 @Autowired HttpServletResponse 的全部内容, 来源链接: utcz.com/qa/410246.html

回到顶部