【问题标题】:Spring 2.5 dispatcher.xml configuration, "can not set bean property 'methodNameResolver'" errorSpring 2.5 dispatcher.xml 配置,“无法设置 bean 属性 'methodNameResolver'”错误
【发布时间】:2018-03-19 14:58:03
【问题描述】:

我正在开发旧版应用程序。它有一个主控制器 JobController,它是从 org.springframework.web.servlet.mvc.multiaction.MultiActionController 扩展而来的。此应用程序以前运行过(我不知道如何运行),但目前在启动期间出现与 methodNameResolver 相关的错误。

错误提示“bean类[packageName.JobController]的无效属性'methodNameResolver':Bean属性'methodNameResolver'不可写或具有无效的setter方法。setter的参数类型是否与getter的返回类型匹配?”

我的 dispatcher.xml 如下所示

<bean class="packageName.JobController">

    <property name="methodNameResolver">

        <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
            <property name="mappings">
                <props>
                <prop key="/login.htm">hndLoginHTM</prop>               
                <prop key="/login.ajax">hndLoginAJAX</prop>
                <prop key="/logout.ajax">hndLogoutAJAX</prop>
                <prop key="/submit.data">hndSubmitData</prop>
                <prop key="/get.log">hndGetLog</prop>
                <prop key="/getJdbc.log">hndGetJdbcLog</prop>
                <prop key="/vtInsert.deneme">vtInsertTest</prop>            
                </props>
            </property>
        </bean>
    </property>

 </bean>

当我将“packageName.JobController”替换为“MultiActionController”时,我没有收到此错误,但是由于 MultiActionController 是一个 spring 类,它不包括我的方法(hndLoginHTM、hndLoginAJAX),所以这通常会导致一个新错误。

总而言之,我认为 Spring 不理解我的控制器是 MultiActionController 的一个实例,因此它会给属性带来错误。

我已经尝试以各种方式编写 bean 定义,但没有任何效果。任何帮助将不胜感激。

您可以提议升级 Spring 版本并使用注解。这是我们的计划,但在此之前,我们需要使此版本正常工作并进行一些测试。

问候, 费达

【问题讨论】:

  • 你能显示 JobController 的类定义吗?
  • 你能粘贴异常堆栈跟踪吗?
  • 抱歉这个问题后我对配置做了一些更改。后来,在您的 cmets 之后,我尝试将 conf 转换为原始状态,但我无法重新创建错误:( 目前我收到一个可能也相关的新错误。
  • 我现在得到了这两个例外。我为这些错误提出了新问题。 stackoverflow.com/questions/49189907/…

标签: java spring spring-mvc


【解决方案1】:

虽然这种配置在遗留 Java 应用程序中很常见(我的互联网搜索结果是这样的),但我找不到解决此异常的方法。我等了足够长的时间,也没有得到任何解决此问题的建议。

所以,我改变了我的计划,升级了 Spring 版本,并将方法映射更改为注解。在这一点上,我没有得到这个异常。

【讨论】:

    猜你喜欢
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    相关资源
    最近更新 更多