Class AspectJProxyFactory
java.lang.Object
org.springframework.aop.framework.ProxyConfig
org.springframework.aop.framework.AdvisedSupport
org.springframework.aop.framework.ProxyCreatorSupport
org.springframework.aop.aspectj.annotation.AspectJProxyFactory
- All Implemented Interfaces:
Serializable
,Advised
,TargetClassAware
AspectJ-based proxy factory, allowing for programmatic building
of proxies which include AspectJ aspects (code style as well
annotation style).
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller, Ramnivas Laddad
- See Also:
-
Field Summary
Fields inherited from class org.springframework.aop.framework.AdvisedSupport
EMPTY_TARGET_SOURCE
-
Constructor Summary
ConstructorDescriptionCreate a new AspectJProxyFactory.AspectJProxyFactory
(Class<?>... interfaces) Create a newAspectJProxyFactory
.AspectJProxyFactory
(Object target) Create a new AspectJProxyFactory. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add an aspect of the supplied type to the end of the advice chain.void
Add the supplied aspect instance to the chain.<T> T
getProxy()
Create a new proxy according to the settings in this factory.<T> T
getProxy
(ClassLoader classLoader) Create a new proxy according to the settings in this factory.Methods inherited from class org.springframework.aop.framework.ProxyCreatorSupport
addListener, adviceChanged, createAopProxy, getAopProxyFactory, isActive, removeListener, setAopProxyFactory
Methods inherited from class org.springframework.aop.framework.AdvisedSupport
addAdvice, addAdvice, addAdvisor, addAdvisor, addAdvisors, addAdvisors, addInterface, adviceIncluded, copyConfigurationFrom, copyConfigurationFrom, countAdvicesOfType, getAdvisorChainFactory, getAdvisorCount, getAdvisors, getAdvisorsInternal, getInterceptorsAndDynamicInterceptionAdvice, getProxiedInterfaces, getTargetClass, getTargetSource, indexOf, indexOf, isInterfaceProxied, isPreFiltered, removeAdvice, removeAdvisor, removeAdvisor, removeInterface, replaceAdvisor, setAdvisorChainFactory, setInterfaces, setPreFiltered, setTarget, setTargetClass, setTargetSource, toProxyConfigString, toString
Methods inherited from class org.springframework.aop.framework.ProxyConfig
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.aop.framework.Advised
isExposeProxy, isFrozen, isProxyTargetClass, setExposeProxy
-
Constructor Details
-
AspectJProxyFactory
public AspectJProxyFactory()Create a new AspectJProxyFactory. -
AspectJProxyFactory
Create a new AspectJProxyFactory.Will proxy all interfaces that the given target implements.
- Parameters:
target
- the target object to be proxied
-
AspectJProxyFactory
Create a newAspectJProxyFactory
. No target, only interfaces. Must add interceptors.
-
-
Method Details
-
addAspect
Add the supplied aspect instance to the chain. The type of the aspect instance supplied must be a singleton aspect. True singleton lifecycle is not honoured when using this method - the caller is responsible for managing the lifecycle of any aspects added in this way.- Parameters:
aspectInstance
- the AspectJ aspect instance
-
addAspect
Add an aspect of the supplied type to the end of the advice chain.- Parameters:
aspectClass
- the AspectJ aspect class
-
getProxy
public <T> T getProxy()Create a new proxy according to the settings in this factory.Can be called repeatedly. Effect will vary if we've added or removed interfaces. Can add and remove interceptors.
Uses a default class loader: Usually, the thread context class loader (if necessary for proxy creation).
- Returns:
- the new proxy
-
getProxy
Create a new proxy according to the settings in this factory.Can be called repeatedly. Effect will vary if we've added or removed interfaces. Can add and remove interceptors.
Uses the given class loader (if necessary for proxy creation).
- Parameters:
classLoader
- the class loader to create the proxy with- Returns:
- the new proxy
-