org.springframework.aop.framework.autoproxy

## Class AutoProxyUtils

- java.lang.Object
- - org.springframework.aop.framework.autoproxy.AutoProxyUtils

-     public abstract class AutoProxyUtils
      extends Object

  Utilities for auto-proxy aware components. Mainly for internal use within the framework.
  Since:
    2.0.3
  Author:
    Juergen Hoeller
  See Also:
    `AbstractAutoProxyCreator`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PRESERVE_TARGET_CLASS_ATTRIBUTE` Bean definition attribute that may indicate whether a given bean is supposed to be proxied with its target class (in case of it getting proxied in the first place).

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AutoProxyUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `shouldProxyTargetClass(ConfigurableListableBeanFactory beanFactory, String beanName)` Determine whether the given bean should be proxied with its target class rather than its interfaces.

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

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

- - ### Field Detail

    - #### PRESERVE_TARGET_CLASS_ATTRIBUTE

          public static final String PRESERVE_TARGET_CLASS_ATTRIBUTE

      Bean definition attribute that may indicate whether a given bean is supposed to be proxied with its target class (in case of it getting proxied in the first place). The value is `Boolean.TRUE` or `Boolean.FALSE`.

      Proxy factories can set this attribute if they built a target class proxy for a specific bean, and want to enforce that that bean can always be cast to its target class (even if AOP advices get applied through auto-proxying).

  - ### Constructor Detail

    - #### AutoProxyUtils

          public AutoProxyUtils()

  - ### Method Detail

    - #### shouldProxyTargetClass

          public static boolean shouldProxyTargetClass(ConfigurableListableBeanFactory beanFactory,
                                       String beanName)

      Determine whether the given bean should be proxied with its target class rather than its interfaces. Checks the `"preserveTargetClass" attribute` of the corresponding bean definition.
      Parameters:
        `beanFactory` - the containing ConfigurableListableBeanFactory
        `beanName` - the name of the bean
      Returns:
        whether the given bean should be proxied with its target class