spring-Unnamed bean definition既不指定'class'也不指定'parent',也不指定'factory-bean' - 不能生成bean名称

时间:2013-12-16 03:12:31

标签: java spring spring-mvc

我遇到了下面的问题

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unnamed bean definition specifies neither 'class' nor 'parent' nor 'factory-bean' - can't generate bean name
Offending resource: ServletContext resource [/WEB-INF/sample-servlet.xml]

sample-servlet.xml代码 ,我不知道如何解决它

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="com.spring.controller"/>

    <bean p:viewClass="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/pages/"
          p:suffix=".jsp"/>

</beans>

有人可以帮助我吗?非常感谢!

1 个答案:

答案 0 :(得分:2)

您的bean定义

<bean p:viewClass="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/pages/"
      p:suffix=".jsp"/>

不声明class属性,在这种情况下是必需的。它应该是

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:viewClass="some view class"
      p:prefix="/WEB-INF/pages/"
      p:suffix=".jsp"/>

p:viewClass属性指的是viewClass类中名为InternalResourceViewResolver的属性。显然,设置一个合适的值,可能是org.springframework.web.servlet.view.JstlVieworg.springframework.web.servlet.view.InternalResourceView

official documentation中解释了这一点以及更多内容。