我想使用cglib作为spring的代理机制。问题是,我有一些bean,它们的依赖项是由构造函数注入的,我不能改变这一点。CGLIB似乎不太喜欢这一点,不让我实例化该bean。有什么办法可以绕过它吗?(例如,我可以禁用某些bean的cglib代理吗?或者更好的是,我可以让CGLIB代理这些bean吗?)
提前发送
发布于 2012-03-28 01:25:21
一个简单的答案是你不能代理这样的bean。请参阅SPR-3150 jira问题。
发布于 2012-03-28 02:45:37
由于Eugene的简短答案可能是正确的,另一种方法是使用adapter或decorator模式,使用组合而不是继承。代理您的装饰器,并让它具有原始bean作为依赖项。
或者做一些明智的事情,转而使用基于接口的代理。
https://stackoverflow.com/questions/9894333
复制相似问题