Class AutoProxyUtils
java.lang.Object
org.springframework.aop.framework.autoproxy.AutoProxyUtils
Utilities for auto-proxy aware components.
Mainly for internal use within the framework.
- Since:
- 2.0.3
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Bean definition attribute that indicates the original target class of an auto-proxied bean, e.g.static final String
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
-
Method Summary
Modifier and TypeMethodDescriptionstatic Class<?>
determineTargetClass
(ConfigurableListableBeanFactory beanFactory, String beanName) Determine the original target class for the specified bean, if possible, otherwise falling back to a regulargetType
lookup.static boolean
shouldProxyTargetClass
(ConfigurableListableBeanFactory beanFactory, String beanName) Determine whether the given bean should be proxied with its target class rather than its interfaces.
-
Field Details
-
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 isBoolean.TRUE
orBoolean.FALSE
.Proxy factories can set this attribute if they built a target class proxy for a specific bean, and want to enforce that bean can always be cast to its target class (even if AOP advices get applied through auto-proxying).
-
ORIGINAL_TARGET_CLASS_ATTRIBUTE
Bean definition attribute that indicates the original target class of an auto-proxied bean, e.g. to be used for the introspection of annotations on the target class behind an interface-based proxy.
-
-
Constructor Details
-
AutoProxyUtils
public AutoProxyUtils()
-
-
Method Details
-
shouldProxyTargetClass
public static boolean shouldProxyTargetClass(ConfigurableListableBeanFactory beanFactory, @Nullable 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 ConfigurableListableBeanFactorybeanName
- the name of the bean- Returns:
- whether the given bean should be proxied with its target class
-
determineTargetClass
@Nullable public static Class<?> determineTargetClass(ConfigurableListableBeanFactory beanFactory, @Nullable String beanName) Determine the original target class for the specified bean, if possible, otherwise falling back to a regulargetType
lookup.- Parameters:
beanFactory
- the containing ConfigurableListableBeanFactorybeanName
- the name of the bean- Returns:
- the original target class as stored in the bean definition, if any
- Since:
- 4.2.3
- See Also:
-