org.springframework.aop.framework

## Class DefaultAopProxyFactory

- java.lang.Object
- - org.springframework.aop.framework.DefaultAopProxyFactory

- All Implemented Interfaces:
    Serializable, AopProxyFactory

      public class DefaultAopProxyFactory
      extends Object
      implements AopProxyFactory, Serializable

  Default `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:

  - the "optimize" flag is set
  - the "proxyTargetClass" flag is set
  - no proxy interfaces have been specified

  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.

  Since:
    12.03.2004
  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `ProxyConfig.setOptimize(boolean)`, `ProxyConfig.setProxyTargetClass(boolean)`, `AdvisedSupport.setInterfaces(java.lang.Class<?>...)`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultAopProxyFactory()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AopProxy` | `createAopProxy(AdvisedSupport config)` Create an `AopProxy` for the given AOP configuration.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultAopProxyFactory

          public DefaultAopProxyFactory()

  - ### Method Detail

    - #### createAopProxy

          public AopProxy createAopProxy(AdvisedSupport config)
                                  throws AopConfigException

      Description copied from interface: `AopProxyFactory`
      Create an `AopProxy` for the given AOP configuration.
      Specified by:
        `createAopProxy` in interface `AopProxyFactory`
      Parameters:
        `config` - the AOP configuration in the form of an AdvisedSupport object
      Returns:
        the corresponding AOP proxy
      Throws:
        `AopConfigException` - if the configuration is invalid