类 AopProxyUtils
- java.lang.Object
- org.springframework.aop.framework.AopProxyUtils
public abstract class AopProxyUtils extends Object
Utility methods for AOP proxy factories. Mainly for internal use within the AOP framework.See
AopUtils
for a collection of generic AOP utility methods which do not depend on AOP framework internals.- 作者:
- Rod Johnson, Juergen Hoeller
- 另请参阅:
AopUtils
构造器概要
构造器 构造器 说明 AopProxyUtils()
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static Class<?>[]
completeProxiedInterfaces(AdvisedSupport advised)
Determine the complete set of interfaces to proxy for the given AOP configuration.static boolean
equalsAdvisors(AdvisedSupport a, AdvisedSupport b)
Check equality of the advisors behind the given AdvisedSupport objects.static boolean
equalsInProxy(AdvisedSupport a, AdvisedSupport b)
Check equality of the proxies behind the given AdvisedSupport objects.static boolean
equalsProxiedInterfaces(AdvisedSupport a, AdvisedSupport b)
Check equality of the proxied interfaces behind the given AdvisedSupport objects.static Object
getSingletonTarget(Object candidate)
Obtain the singleton target object behind the given proxy, if any.static Class<?>[]
proxiedUserInterfaces(Object proxy)
Extract the user-specified interfaces that the given proxy implements, i.e. all non-Advised interfaces that the proxy implements.static Class<?>
ultimateTargetClass(Object candidate)
Determine the ultimate target class of the given bean instance, traversing not only a top-level proxy but any number of nested proxies as well — as long as possible without side effects, that is, just for singleton targets.
构造器详细资料
AopProxyUtils
public AopProxyUtils()
方法详细资料
getSingletonTarget
@Nullable public static Object getSingletonTarget(Object candidate)
Obtain the singleton target object behind the given proxy, if any.- 参数:
candidate
- the (potential) proxy to check- 返回:
- the singleton target object managed in a
SingletonTargetSource
, ornull
in any other case (not a proxy, not an existing singleton target) - 从以下版本开始:
- 4.3.8
- 另请参阅:
Advised.getTargetSource()
,SingletonTargetSource.getTarget()
ultimateTargetClass
public static Class<?> ultimateTargetClass(Object candidate)
Determine the ultimate target class of the given bean instance, traversing not only a top-level proxy but any number of nested proxies as well — as long as possible without side effects, that is, just for singleton targets.- 参数:
candidate
- the instance to check (might be an AOP proxy)- 返回:
- the ultimate target class (or the plain class of the given object as fallback; never
null
) - 另请参阅:
TargetClassAware.getTargetClass()
,Advised.getTargetSource()
completeProxiedInterfaces
public static Class<?>[] completeProxiedInterfaces(AdvisedSupport advised)
Determine the complete set of interfaces to proxy for the given AOP configuration.This will always add the
Advised
interface unless the AdvisedSupport's"opaque"
flag is on. Always adds theSpringProxy
marker interface.- 参数:
advised
- the proxy config- 返回:
- the complete set of interfaces to proxy
- 另请参阅:
SpringProxy
,Advised
proxiedUserInterfaces
public static Class<?>[] proxiedUserInterfaces(Object proxy)
Extract the user-specified interfaces that the given proxy implements, i.e. all non-Advised interfaces that the proxy implements.- 参数:
proxy
- the proxy to analyze (usually a JDK dynamic proxy)- 返回:
- all user-specified interfaces that the proxy implements, in the original order (never
null
or empty) - 另请参阅:
Advised
equalsInProxy
public static boolean equalsInProxy(AdvisedSupport a, AdvisedSupport b)
Check equality of the proxies behind the given AdvisedSupport objects. Not the same as equality of the AdvisedSupport objects: rather, equality of interfaces, advisors and target sources.
equalsProxiedInterfaces
public static boolean equalsProxiedInterfaces(AdvisedSupport a, AdvisedSupport b)
Check equality of the proxied interfaces behind the given AdvisedSupport objects.
equalsAdvisors
public static boolean equalsAdvisors(AdvisedSupport a, AdvisedSupport b)
Check equality of the advisors behind the given AdvisedSupport objects.