public class DefaultAopProxyFactory extends java.lang.Object implements AopProxyFactory, java.io.Serializable
AopProxyFactory
implementation,
creating either a CGLIB proxy or a JDK dynamic proxy.
Creates a CGLIB proxy if one the following is true
for a given AdvisedSupport
instance:
Note that the CGLIB library classes have to be present on the class path if an actual CGLIB proxy needs to be created.
In general, specify "proxyTargetClass" to enforce a CGLIB proxy, or specify one or more interfaces to use a JDK dynamic proxy.
ProxyConfig.setOptimize(boolean)
,
ProxyConfig.setProxyTargetClass(boolean)
,
AdvisedSupport.setInterfaces(java.lang.Class[])
,
Serialized FormModifier and Type | Class and Description |
---|---|
private static class |
DefaultAopProxyFactory.CglibProxyFactory
Inner factory class used to just introduce a CGLIB dependency
when actually creating a CGLIB proxy.
|
Constructor and Description |
---|
DefaultAopProxyFactory() |
Modifier and Type | Method and Description |
---|---|
AopProxy |
createAopProxy(AdvisedSupport config)
Create an
AopProxy for the given AOP configuration. |
private boolean |
hasNoUserSuppliedProxyInterfaces(AdvisedSupport config)
Determine whether the supplied
AdvisedSupport has only the
SpringProxy interface specified
(or no proxy interfaces specified at all). |
public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException
AopProxyFactory
AopProxy
for the given AOP configuration.createAopProxy
in interface AopProxyFactory
config
- the AOP configuration in the form of an
AdvisedSupport objectAopConfigException
- if the configuration is invalidprivate boolean hasNoUserSuppliedProxyInterfaces(AdvisedSupport config)
AdvisedSupport
has only the
SpringProxy
interface specified
(or no proxy interfaces specified at all).