org.springframework.aop.target

## Class PrototypeTargetSource

- java.lang.Object
- - org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource
  - - org.springframework.aop.target.AbstractPrototypeBasedTargetSource
    - - org.springframework.aop.target.PrototypeTargetSource

All Implemented Interfaces:
  Serializable, TargetClassAware, TargetSource, Aware, BeanFactoryAware

    public class PrototypeTargetSource
    extends AbstractPrototypeBasedTargetSource

TargetSource that creates a new instance of the target bean for each request, destroying each instance on release (after each request). Obtains bean instances from its containing `BeanFactory`.

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `AbstractPrototypeBasedTargetSource.setBeanFactory(org.springframework.beans.factory.BeanFactory)`, `AbstractBeanFactoryBasedTargetSource.setTargetBeanName(java.lang.String)`, Serialized Form

### Field Summary

### Fields inherited from class org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource

`logger`

### Constructor Summary

Constructors
Constructor and Description
`PrototypeTargetSource()`

### Method Summary

Methods
`Object` `getTarget()` Obtain a new prototype instance for every call.
`void` `releaseTarget(Object target)` Destroy the given independent instance.
`String` `toString()`

### Methods inherited from class org.springframework.aop.target.AbstractPrototypeBasedTargetSource

`destroyPrototypeInstance, newPrototypeInstance, setBeanFactory, writeReplace`

### Methods inherited from class org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource

`copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, setTargetBeanName, setTargetClass`

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

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

### Constructor Detail

#### PrototypeTargetSource

    public PrototypeTargetSource()

### Method Detail

#### getTarget

    public Object getTarget()
                     throws BeansException

Obtain a new prototype instance for every call.

Returns:
  the target object, which contains the joinpoint
Throws:
  `BeansException`
See Also:
  `AbstractPrototypeBasedTargetSource.newPrototypeInstance()`

#### releaseTarget

    public void releaseTarget(Object target)

Destroy the given independent instance.

Specified by:
  `releaseTarget` in interface `TargetSource`
Overrides:
  `releaseTarget` in class `AbstractBeanFactoryBasedTargetSource`
Parameters:
  `target` - object obtained from a call to `TargetSource.getTarget()`
See Also:
  `AbstractPrototypeBasedTargetSource.destroyPrototypeInstance(java.lang.Object)`

#### toString

    public String toString()

Overrides:
  `toString` in class `AbstractBeanFactoryBasedTargetSource`