我的印象是每当一个类实现一个接口,就会创建基于JDK的代理。基于CGLib的代理是通过类实现接口创建的
我有一个bean,它实现了与prototype scope
的接口,这个接口被注入到一个具有singleton
范围的bean中。我尝试使用proxyMode = ScopedProxyMode.INTERFACES
创建JDK代理是正确的,但是当我厌倦proxyMode = ScopedProxyMode.TARGET_CLASS
时,即使我的bean实现了一个接口,也会创建基于CGLIB的代理。
时
proxyMode = ScopedProxyMode.TARGET_CLASS
和
proxyMode = ScopedProxyMode.INTERFACES
它们之间有什么区别,会发生什么?何时使用哪一个?
我还有一个问题是,将原型bean注入单例bean的正确方法是什么?
这就是你告诉框架要做的是总是创建基于类的代理以及基于cglib的代理。 –