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 FormHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
BeanFactoryAspectInstanceFactory(BeanFactory beanFactory,
String name)
Create a BeanFactoryAspectInstanceFactory.
|
BeanFactoryAspectInstanceFactory(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()
Return the best possible creation mutex for this factory.
|
Object |
getAspectInstance()
Create an instance of this factory's aspect.
|
AspectMetadata |
getAspectMetadata()
Return the AspectJ AspectMetadata for this factory's aspect.
|
int |
getOrder()
|
String |
toString() |
public BeanFactoryAspectInstanceFactory(BeanFactory beanFactory, String name)
beanFactory
- the BeanFactory to obtain instance(s) fromname
- the name of the beanpublic BeanFactoryAspectInstanceFactory(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()