簡體   English   中英

Spring MVC @AutoWired響應不起作用

[英]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,那就太糟糕了。 我只想在我使用它們時注釋工作!

我見過: Spring MVC - Response

謝謝!

作為解決方法嘗試:

@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM