IllegalStateException:无法将类型A的值转换为所需类型:找不到匹配的编辑器或转换策略
部署spring应用程序时获取此异常。实现类正在扩展另一个类以及实现接口,我怀疑这会引起这个问题。
我尝试了其他帖子中提到的一些解决方案。 已验证Interface已映射到bean 并且还尝试使用Inject和Qualifier注释。但这些都没有解决问题。
答案 0 :(得分:0)
这通常发生在:
示例:
public class MyConcreteClass extends MyAbstractClass implements MyInterface {
// ... my class implementation
}
...
public class MyClient {
...
// injection point: note that the parameter is MyAbstractClass and
// not MyInterface
public void setMyClass(MyAbstractClass injectedInstance) {
...
}
...
}
由于JDK只代理接口而不代理类,因此会出现此错误。将其更改为setMyClass(MyInterface injectedInstance)
可以解决问题。