我在我的 Java 应用程序中使用 Spring,直到现在所有 @Autowired 注释都有效。
简化的例子是:
@Component
public class MyBean implements MyInterface {
...
}
@Component
public class MyOtherBean {
@Autowired
private MyBean myBean;
...
}
一旦我尝试启动应用程序,我得到:
java.lang.IllegalArgumentException: Can not set MyBean field MyOtherBean.myBean to $ProxyXX
- 该接口只包含两个公共的简单方法,类实现了它们。
- 这两个类都是公共的,并且具有公共的默认构造函数。(我什至尝试在测试中实例化它们。
- 删除该
implements
部分后,一切正常。
接口的实现可能有什么问题?是什么$ProxyXX
?