Spring中构造函数参数的歧义

时间:2018-09-11 11:25:49

标签: java spring

关于类型歧义性,我有一个错误提示:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blankRestoreFromRecycleUiOperation' defined in URL: Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)

这是我的spring xml映射:

<bean id="blankRestoreFromRecycleUiOperation" class="BlankRestoreFromRecycleUiOperation">
    <constructor-arg index="0" value="blankTab"/>
    <constructor-arg index="1" value="false"/>
</bean>

我的java类:

public class BlankRestoreFromRecycleUiOperation implements RestoreFromRecycleUiOperationAware {

       private String tab;
       private boolean green;

       public BlankRestoreFromRecycleUiOperation(String tab, boolean green) {
            this.tab = tab;
            this.green = green;
       }
}

因此,其他类似的问题也涉及到适当的构造函数参数索引和命名,但是在这里我想我错过了其他东西。同样在发布之前,我尝试添加如下参数:

<bean id="blankRestoreFromRecycleUiOperation" class="BlankRestoreFromRecycleUiOperation">
    <constructor-arg index="0" type="java.lang.String" value="blankTab"/>
    <constructor-arg index="1" type="boolean" value="false"/>
</bean>

然后出现相同的错误。

您能指定这样做的正确方法还是缺少零件?感谢您的提前答复。

已解决:问题与IDE和gradle版本有关。有2个单独的版本,不同版本的Spring导致整个应用无法正常工作。无论如何,谢谢您的回答。

2 个答案:

答案 0 :(得分:0)

尝试一下:

<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.0/sweetalert.min.js"></script>
     <form>
        <a href=\"http://localhost:8080/update/status/"+pcode+"/ACCEPT\"></a><input a href=\"http://localhost:8080/update/status/"+pcode+"/ACCEPT\" class="MyButton" onclick="myFunction()" type = "button" value ="Accept Your Promotion" />
    </form>

    <script>
function myFunction() {
       swal(
      'Congratulations!',
      'You successfully accept your promotion',
      'success'
    )
}
</script>

答案 1 :(得分:0)

只需在类=“ com.jwt.spring.BlankRestoreFromRecycleUiOperation”>中尝试XML映射 也许会有所帮助,因为这种类型的错误称为注入类型歧义。 希望对您有所帮助。