spring-未命名的 bean 定义既不指定 'class',也不指定 'parent' 或 'factory-bean' - 无法生成 bean 名称



我在下面遇到了一个问题

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>

有人能帮我吗?非常感谢!

您的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属性是指InternalResourceViewResolver类中名为viewClass的属性。显然,设置一个适当的值,可能是org.springframework.web.servlet.view.JstlVieworg.springframework.web.servlet.view.InternalResourceView

官方文件对此进行了解释。

最新更新