[英]Spring MVC @AutoWired response not working
我有 :
@Controller
@RequestMapping(value="admin/*", method=RequestMethod.GET)
public class AdminController {
@Autowired
private HttpServletRequest request;
@Autowired
private HttpServletResponse response;
@RequestMapping
public ResponseEntity<String> test0() {
System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
return null;
}
}
和標簽:
<mvc:annotation-driven />
在我的config.xml中
我覺得應該足夠了,但@Autowired存在問題:
沒有找到類型為[javax.servlet.http.HttpServletResponse]的匹配bean用於依賴:期望至少有1個bean符合條件...
我已經看到了一些提及設置bean等的解決方案,但我確信必須有更好的方法。 注釋掃描應該解決這個問題。 如果我必須在xml中為不同時間的幾個不同注釋設置bean,那就太糟糕了。 我只想在我使用它們時注釋工作!
謝謝!
作為解決方法嘗試:
@RequestMapping
public ResponseEntity<String> test0(
HttpServletRequest request,
HttpServletResponse response) {
System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
return null;
}
也可以嘗試加入RequestContextListener
但這should't在Spring MVC的環境是必需的。
自動裝配不適用於響應,僅適用於請求。 有解決方法,但它們有點hacky和lame。 我遇到了同樣的問題,這是我原來的問題,帶有解決方法的鏈接: @Autowired HttpServletResponse
它不像你想要的那樣工作,因為字段,因為請求和respose在每次請求后都會發生變化(缺乏更好的解釋)。 每次在字段中的新請求/響應時都無法重新注入。 這就是為什么你必須在每次新注入的方法中添加它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.