org.springframework.aop.aspectj.annotation

## Class PrototypeAspectInstanceFactory

- java.lang.Object
- - org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory
  - - org.springframework.aop.aspectj.annotation.PrototypeAspectInstanceFactory

- All Implemented Interfaces:
    MetadataAwareAspectInstanceFactory, AspectInstanceFactory, Ordered

      public class PrototypeAspectInstanceFactory
      extends BeanFactoryAspectInstanceFactory

  AspectInstanceFactory backed by a BeanFactory-provided prototype, enforcing prototype semantics.

  Note that this may instantiate multiple times, which probably won't give the semantics you expect. Use a `LazySingletonAspectInstanceFactoryDecorator` to wrap this to ensure only one new aspect comes back.

  Since:
    2.0
  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `BeanFactory`, `LazySingletonAspectInstanceFactoryDecorator`

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PrototypeAspectInstanceFactory(BeanFactory beanFactory, String name)` Create a PrototypeAspectInstanceFactory.

  - ### Method Summary

    - ### Methods inherited from class org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory

      `getAspectClassLoader, getAspectInstance, getAspectMetadata, getOrder, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PrototypeAspectInstanceFactory

          public PrototypeAspectInstanceFactory(BeanFactory beanFactory,
                                        String name)

      Create a PrototypeAspectInstanceFactory. AspectJ will be called to introspect to create AJType metadata using the type returned for the given bean name from the BeanFactory.
      Parameters:
        `beanFactory` - the BeanFactory to obtain instance(s) from
        `name` - the name of the bean