Package org.springframework.test.util
Class AopTestUtils
java.lang.Object
org.springframework.test.util.AopTestUtils
AopTestUtils
is a collection of AOP-related utility methods for
use in unit and integration testing scenarios.
For Spring's core AOP utilities, see
AopUtils
and
AopProxyUtils
.
- Since:
- 4.2
- Author:
- Sam Brannen, Juergen Hoeller
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> T
getTargetObject
(Object candidate) Get the target object of the suppliedcandidate
object.static <T> T
getUltimateTargetObject
(Object candidate) Get the ultimate target object of the suppliedcandidate
object, unwrapping not only a top-level proxy but also any number of nested proxies.
-
Constructor Details
-
AopTestUtils
public AopTestUtils()
-
-
Method Details
-
getTargetObject
Get the target object of the suppliedcandidate
object.If the supplied
candidate
is a Spring proxy, the target of the proxy will be returned; otherwise, thecandidate
will be returned as is.- Type Parameters:
T
- the type of the target object- Parameters:
candidate
- the instance to check (potentially a Spring AOP proxy; nevernull
)- Returns:
- the target object or the
candidate
(nevernull
) - Throws:
IllegalStateException
- if an error occurs while unwrapping a proxy- See Also:
-
getUltimateTargetObject
Get the ultimate target object of the suppliedcandidate
object, unwrapping not only a top-level proxy but also any number of nested proxies.If the supplied
candidate
is a Spring proxy, the ultimate target of all nested proxies will be returned; otherwise, thecandidate
will be returned as is.NOTE: If the top-level proxy or a nested proxy is not backed by a static
TargetSource
, invocation of this utility method may result in undesired behavior such as infinite recursion leading to aStackOverflowError
.- Type Parameters:
T
- the type of the target object- Parameters:
candidate
- the instance to check (potentially a Spring AOP proxy; nevernull
)- Returns:
- the target object or the
candidate
(nevernull
) - Throws:
IllegalStateException
- if an error occurs while unwrapping a proxy- See Also:
-