它看起来像你需要一个默认的(无参数)构造函数您
MyManagedBean使它proxyable。我真的不知道为什么它是需要的,因为
MyManagedBean是一个
@Dependentbean并因此不代理AFAIK;
这似乎是实现细节或CDI规范中被忽略的一点。无论如何,我敢打赌它可以提出一个很好的新问题:)
编辑
:我发现了为什么可代理bean需要默认构造。实际上,这并不是什么难事:由于bean的代理是同一bean的子类,因此代理需要
super()在其自己的构造中调用构造函数。如果没有非私有默认构造函数,则不知道要调用哪个构造函数。甚至可以想象这样一种情况:调用注入的构造函数来创建代理,但是我不知道它会给CDI实现增加哪种复杂度;可能不是那么容易…



