## 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
`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
`AutoProxyUtils()`

Method Summary
`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