public class BeanFactoryAspectInstanceFactory extends Object implements MetadataAwareAspectInstanceFactory, Serializable
AspectInstanceFactory
implementation
backed by a Spring BeanFactory
.
Note that this may instantiate multiple times if using a prototype,
which probably won't give the semantics you expect.
Use a LazySingletonAspectInstanceFactoryDecorator
to wrap this to ensure only one new aspect comes back.
BeanFactory
,
LazySingletonAspectInstanceFactoryDecorator
,
Serialized FormConstructor and Description |
---|
BeanFactoryAspectInstanceFactory(org.springframework.beans.factory.BeanFactory beanFactory,
String name)
Create a BeanFactoryAspectInstanceFactory.
|
BeanFactoryAspectInstanceFactory(org.springframework.beans.factory.BeanFactory beanFactory,
String name,
Class<?> type)
Create a BeanFactoryAspectInstanceFactory, providing a type that AspectJ should
introspect to create AJType metadata.
|
Modifier and Type | Method and Description |
---|---|
ClassLoader |
getAspectClassLoader()
Expose the aspect class loader that this factory uses.
|
Object |
getAspectCreationMutex()
Get the best possible creation mutex for this factory.
|
Object |
getAspectInstance()
Create an instance of this factory's aspect.
|
AspectMetadata |
getAspectMetadata()
Get the AspectJ AspectMetadata for this factory's aspect.
|
int |
getOrder()
Determine the order for this factory's target aspect, either
an instance-specific order expressed through implementing the
Ordered interface (only
checked for singleton beans), or an order expressed through the
Order annotation
at the class level. |
String |
toString() |
public BeanFactoryAspectInstanceFactory(org.springframework.beans.factory.BeanFactory beanFactory, String name)
beanFactory
- the BeanFactory to obtain instance(s) fromname
- the name of the beanpublic BeanFactoryAspectInstanceFactory(org.springframework.beans.factory.BeanFactory beanFactory, String name, @Nullable Class<?> type)
beanFactory
- the BeanFactory to obtain instance(s) fromname
- the name of the beantype
- the type that should be introspected by AspectJ
(null
indicates resolution through BeanFactory.getType(java.lang.String)
via the bean name)public Object getAspectInstance()
AspectInstanceFactory
getAspectInstance
in interface AspectInstanceFactory
null
)@Nullable public ClassLoader getAspectClassLoader()
AspectInstanceFactory
getAspectClassLoader
in interface AspectInstanceFactory
null
for the bootstrap loader)ClassUtils.getDefaultClassLoader()
public AspectMetadata getAspectMetadata()
MetadataAwareAspectInstanceFactory
getAspectMetadata
in interface MetadataAwareAspectInstanceFactory
@Nullable public Object getAspectCreationMutex()
MetadataAwareAspectInstanceFactory
getAspectCreationMutex
in interface MetadataAwareAspectInstanceFactory
null
for no mutex to use)public int getOrder()
Ordered
interface (only
checked for singleton beans), or an order expressed through the
Order
annotation
at the class level.getOrder
in interface org.springframework.core.Ordered
Ordered
,
Order