Java SpringWebMVC链接ViewResolver提供了BeanNotOfRequiredTypeException

Java SpringWebMVC链接ViewResolver提供了BeanNotOfRequiredTypeException,java,spring,Java,Spring,我有一个简单的(示例)web应用程序,如果我尝试链接多个ViewResolver,就会遇到问题。当我的应用程序以下面描述的方式配置时,尝试访问http://localhost:8080/Library/spring/initApplication将抛出下面描述的错误 似乎InitApplication被错误的视图解析器错误地拾取。如果我更改视图解析器的顺序,一切都会正常工作,但我仍然想知道为什么会发生此错误,因为我无法确定它发生的原因。我猜是配置问题 26027 ["http-bio-8080"

我有一个简单的(示例)web应用程序,如果我尝试链接多个ViewResolver,就会遇到问题。当我的应用程序以下面描述的方式配置时,尝试访问
http://localhost:8080/Library/spring/initApplication
将抛出下面描述的错误

似乎InitApplication被错误的视图解析器错误地拾取。如果我更改视图解析器的顺序,一切都会正常工作,但我仍然想知道为什么会发生此错误,因为我无法确定它发生的原因。我猜是配置问题

26027 ["http-bio-8080"-exec-6] DEBUG org.springframework.web.servlet.DispatcherServlet  - Could not complete request
org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'initApplication' must be of type [org.springframework.web.servlet.View], but was actually of type [library.controller.InitApplication]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:349)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:266)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079)
    at org.springframework.web.servlet.view.ResourceBundleViewResolver.loadView(ResourceBundleViewResolver.java:196)
    at org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:158)
    at org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77)
    at org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1078)
重要文件的详细信息: InitApplication.java

@Controller
public class InitApplication {


    @RequestMapping(value = "/initApplication", method = RequestMethod.GET)
etc.......
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>testwebproj</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/spring/*</url-pattern>
    </servlet-mapping>
</web-app>

你试过重命名你的bean吗?您可能正在破坏spring使用的内部bean,这肯定是因为您正在将视图映射到一个控制器类伙伴

pdfPrinter.(class)= you should indicate a View class here!
例如,要将控制器映射到jsp视图,您需要如下操作:

login.(class)=org.springframework.web.servlet.view.JstlView
login.url=/vues/en/login.jsp

你试过重命名你的bean吗?您可能正在破坏springI使用的一个内部bean,并将InitApplication类重命名为其他类,它可以工作!很奇怪。我将看看我是否能在调试模式下发现内部发生了什么,但至少这个谜团或多或少已经解决了。谢谢你的提示。这一切发生的原因仍然有点可疑。
pdfPrinter.(class)= you should indicate a View class here!
login.(class)=org.springframework.web.servlet.view.JstlView
login.url=/vues/en/login.jsp