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