java.lang.IllegalStateException:Autowired annotation需要至少一个参数

前端之家收集整理的这篇文章主要介绍了java.lang.IllegalStateException:Autowired annotation需要至少一个参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

无法自动装配和运行Spring Web应用程序.

错误

  1. java.lang.IllegalStateException: Autowired annotation requires at least one argument: public main.java.com.springapp.mvc.controller.DSLRServletController()

DSLRServletController:

  1. package main.java.com.springapp.mvc.controller;
  2. import main.java.com.springapp.mvc.dao.DSLRDAO;
  3. import main.java.com.springapp.mvc.model.DSLR;
  4. import main.java.com.springapp.mvc.pckg.DSLRForm;
  5. import main.java.com.springapp.mvc.pckg.DSLRValidaor;
  6. import org.apache.log4j.Logger;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.ui.Model;
  10. import org.springframework.web.bind.annotation.ModelAttribute;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RequestMethod;
  13. import org.springframework.web.bind.annotation.RequestParam;
  14. import javax.servlet.ServletException;
  15. import javax.servlet.http.HttpServlet;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.io.IOException;
  19. import java.io.Serializable;
  20. import java.util.*;
  21. @Controller
  22. public class DSLRServletController {
  23. static Logger logger = Logger.getLogger(DSLRServletController.class);
  24. private DSLR DSLR;
  25. private DSLRDAO dslrDAO;
  26. private DSLR dslr;
  27. @Autowired
  28. public DSLRServletController() {
  29. this.dslrDAO = new DSLRDAO();
  30. }
  31. public void init() {logger.error("DSLRServlet.init(): just started"); }
  32. @RequestMapping(value = "/s",method = RequestMethod.GET)
  33. public String showHTMLResponse(@modelattribute("dslrs") DSLR dslrs[],@modelattribute("dslr") DSLR dslr,@modelattribute("dslrErrors") HashMap dslrErrors,@modelattribute ("dslrform") DSLRForm dslrForm,@RequestParam("id") String paramId,@RequestParam("action") String paramAction,Model model){
  34. if(paramId == null || paramId.equals("")){
  35. //show_all_dslrs
  36. dslrs = getAllDslrs(); // DSLR adslrs[] -> to MODEL; HOW?
  37. return "dslrs";
  38. }else{
  39. //show_this_dslr;
  40. HashMap@modelattribute("dslrs") DSLR dslrs[],@modelattribute("dslrErrors") HashMap

为什么@Autowired注释会返回错误?怎么解决

最佳答案
构造函数不是有效的setter方法或实例变量

  1. @Autowired
  2. private DSLRDAO dslrDAO;

猜你在找的Spring相关文章