org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.ui.Model]:指定的类是接口

时间:2019-03-12 04:45:51

标签: java spring

我正在使用弹簧靴。我的dao实现是:

public void saveDetails(Proforma_Invoice proforma) {
    Session session = null;
    Transaction tx = null;
    try {
        session = sessionFactory.openSession();
        tx = session.beginTransaction();
        session.saveOrUpdate(proforma);
        tx.commit();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null && session.isOpen())
            session.flush();
        if (session != null && session.isOpen())
            session.close();
    }
}

我的控制器是:

 @RequestMapping(value = "/enquiry", method = RequestMethod.GET)
    public ModelAndView getEnquiryScreen(Model model, Item_entity item, Integer item_code, vendor_entity vendor) {
        System.out.println("Controller is starting..");
        ModelAndView mav = new ModelAndView("enquiry_Screen");
        return mav;
    }

    @RequestMapping(value = "/enquiry", method = RequestMethod.POST)
    public ModelAndView demo(@ModelAttribute("enquiry") Model model, Item_entity item, Integer item_code,
            vendor_entity vendor, Proforma_Invoice proforma) {
        System.out.println("Controller is starting..");
        ModelAndView mav = new ModelAndView("enquiry_Screen"););
        return mav;
    }

在保存数据时使用它们,然后出现错误:

2019-03-12 09:45:34.352 ERROR 7256 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.ui.Model]: Specified class is an interface] with root cause

org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.ui.Model]: Specified class is an interface

请查看该问题。并帮助我解决问题。

1 个答案:

答案 0 :(得分:0)

您正在尝试使用Model作为控制器参数和@ModelAttribute进行混合。如果您有一个包含来自传入请求的参数的表单对象,并且希望Spring将这些参数复制到该对象的实例中,则使用@ModelAttribute。将表单对象用于POST映射(一个好主意),或者删除批注以使用Model