Java 在Spring中使用表达式语言时出错
无法将[java.lang.String]类型的属性值转换为属性“Item”所需的[com.spring.first.Item]类型;嵌套异常为java.lang.IllegalArgumentException:无法将[java.lang.String]类型的值转换为属性“Item”所需的[com.spring.first.Item]类型:未找到匹配的编辑器或转换策略 server.javaJava 在Spring中使用表达式语言时出错,java,spring,maven,spring-mvc,spring-2.5,Java,Spring,Maven,Spring Mvc,Spring 2.5,无法将[java.lang.String]类型的属性值转换为属性“Item”所需的[com.spring.first.Item]类型;嵌套异常为java.lang.IllegalArgumentException:无法将[java.lang.String]类型的值转换为属性“Item”所需的[com.spring.first.Item]类型:未找到匹配的编辑器或转换策略 server.java package com.spring.first; public class Server {
package com.spring.first;
public class Server {
private Item item;
private String itemName;
public Item getItem()
{
return item;
}
public String getItemName()
{
return itemName;
}
public void setItem(Item item)
{
this.item=item;
}
public void setItemName(String str)
{
this.itemName=str;
}
@Override
public String toString()
{
return "Server [item ="+item+", itemName ="+itemName+"]";
}
}
Item.java
public class Item {
private String name;
private int qty;
public String getName()
{
return name;
}
public int getQty()
{
return qty;
}
public void setName(String name)
{
this.name=name;
}
public void setQty(int x)
{
this.qty=x;
}
@Override
public String toString()
{
return "Item [ name ="+name+", Qty ="+qty+"];";
}
}
我的配置文件
我正在使用Spring2.5.6。Spring3中引入了SpringExression语言(SPEL)(请参阅),因此无法将SPEL与Spring2.5.6一起使用
您需要将Spring版本升级到至少3个(最好是最新版本,目前为4.2.2)。您现有的配置是正确的,可以工作()。尝试按如下方式更改配置文件
<bean id="itemBean" class="com.spring.first.Item">
<property name="name" value="itemA" />
<property name="qty" value="10" />
</bean>
<bean id="serverBean" class="com.spring.first.Server">
<property name="item" ref="itemBean" />
<property name="itemName" value="itemBean.name" />
</bean>
抱歉,这是错误的@fofo,它会将itemName的值赋予itemBean.name而不是item A:)BDW谢谢