当bean实现与Spring的某些接口时,无法自动装配字段
发布时间:2020-12-15 01:23:51 所属栏目:大数据 来源:网络整理
导读:我在我的Java应用程序中使用Spring,所有@Autowired注释一直工作到现在. 简化的例子是: @Component public class MyBean implements MyInterface { ... } @Component public class MyOtherBean { @Autowired private MyBean myBean; ... } 一旦我尝试启动应
我在我的Java应用程序中使用Spring,所有@Autowired注释一直工作到现在. 简化的例子是:
一旦我尝试启动应用程序,我得到: java.lang.IllegalArgumentException:无法将MyBean字段MyOtherBean.myBean设置为$ProxyXX >接口只包含两个公共简单方法,类实现它们. 接口的实现有什么问题?什么是$ProxyXX? 最佳答案
我怀疑问题是Spring注入了一个实现MyInterface的AOP代理 – 可能是为了事务管理或缓存.是否有任何MyBean方法注释@Transactional或使用任何其他注释注释?
理想情况下,您可能希望通过它的接口类型引用MyBean – 这应该可以解决问题.
如果你有多个bean实现MyInterface,那么你总是按名称限定你的bean.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |