## Uses of Interface
org.springframework.aop.TargetSource

- Packages that use TargetSource
  Package | Description
  --- | ---
  org.springframework.aop.framework | Package containing Spring's basic AOP infrastructure, compliant with the AOP Alliance interfaces.
  org.springframework.aop.framework.autoproxy | Bean post-processors for use in ApplicationContexts to simplify AOP usage by automatically creating AOP proxies without the need to use a ProxyFactoryBean.
  org.springframework.aop.framework.autoproxy.target | Various `TargetSourceCreator` implementations for use with Spring's AOP auto-proxying support.
  org.springframework.aop.target |
  org.springframework.aop.target.dynamic |
  org.springframework.jndi | The classes in this package make JNDI easier to use, facilitating the accessing of configuration stored in JNDI, and provide useful superclasses for JNDI access classes.
  org.springframework.scripting.support | Support classes for Spring's scripting package.

- - ### Uses of TargetSource in org.springframework.aop.framework

    Fields in org.springframework.aop.framework declared as TargetSource
    Modifier and Type | Field and Description
    --- | ---
    `static TargetSource` | AdvisedSupport.`EMPTY_TARGET_SOURCE` Canonical TargetSource when there's no target, and behavior is supplied by the advisors.

    Methods in org.springframework.aop.framework that return TargetSource
    Modifier and Type | Method and Description
    --- | ---
    `protected TargetSource` | AbstractSingletonProxyFactoryBean.`createTargetSource(Object target)` Determine a TargetSource for the given target (or TargetSource).
    `TargetSource` | AdvisedSupport.`getTargetSource()`
    `TargetSource` | Advised.`getTargetSource()` Return the `TargetSource` used by this `Advised` object.

    Methods in org.springframework.aop.framework with parameters of type TargetSource
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | AdvisedSupport.`copyConfigurationFrom(AdvisedSupport other, TargetSource targetSource, List<Advisor> advisors)` Copy the AOP configuration from the given `AdvisedSupport` object, but allow substitution of a fresh `TargetSource` and a given interceptor chain.
    `static <T> T` | ProxyFactory.`getProxy(Class<T> proxyInterface, TargetSource targetSource)` Create a proxy for the specified `TargetSource`, implementing the specified interface.
    `static Object` | ProxyFactory.`getProxy(TargetSource targetSource)` Create a proxy for the specified `TargetSource` that extends the target class of the `TargetSource`.
    `void` | AdvisedSupport.`setTargetSource(TargetSource targetSource)`
    `void` | Advised.`setTargetSource(TargetSource targetSource)` Change the `TargetSource` used by this `Advised` object.

    Constructors in org.springframework.aop.framework with parameters of type TargetSource
    Constructor and Description
    `ProxyFactory(Class<?> proxyInterface, TargetSource targetSource)` Create a ProxyFactory for the specified `TargetSource`, making the proxy implement the specified interface.

  - ### Uses of TargetSource in org.springframework.aop.framework.autoproxy

    Methods in org.springframework.aop.framework.autoproxy that return TargetSource
    Modifier and Type | Method and Description
    --- | ---
    `protected TargetSource` | AbstractAutoProxyCreator.`getCustomTargetSource(Class<?> beanClass, String beanName)` Create a target source for bean instances.
    `protected TargetSource` | BeanNameAutoProxyCreator.`getCustomTargetSource(Class<?> beanClass, String beanName)` Delegate to `AbstractAutoProxyCreator.getCustomTargetSource(Class, String)` if the bean name matches one of the names in the configured list of supported names, returning `null` otherwise.
    `TargetSource` | TargetSourceCreator.`getTargetSource(Class<?> beanClass, String beanName)` Create a special TargetSource for the given bean, if any.

    Methods in org.springframework.aop.framework.autoproxy with parameters of type TargetSource
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | AbstractAutoProxyCreator.`createProxy(Class<?> beanClass, String beanName, Object[] specificInterceptors, TargetSource targetSource)` Create an AOP proxy for the given bean.
    `protected abstract Object[]` | AbstractAutoProxyCreator.`getAdvicesAndAdvisorsForBean(Class<?> beanClass, String beanName, TargetSource customTargetSource)` Return whether the given bean is to be proxied, what additional advices (e.g.
    `protected Object[]` | AbstractAdvisorAutoProxyCreator.`getAdvicesAndAdvisorsForBean(Class<?> beanClass, String beanName, TargetSource targetSource)`
    `protected Object[]` | BeanNameAutoProxyCreator.`getAdvicesAndAdvisorsForBean(Class<?> beanClass, String beanName, TargetSource targetSource)` Identify as a bean to proxy if the bean name matches one of the names in the configured list of supported names.

  - ### Uses of TargetSource in org.springframework.aop.framework.autoproxy.target

    Methods in org.springframework.aop.framework.autoproxy.target that return TargetSource
    Modifier and Type | Method and Description
    --- | ---
    `TargetSource` | AbstractBeanFactoryBasedTargetSourceCreator.`getTargetSource(Class<?> beanClass, String beanName)`

  - ### Uses of TargetSource in org.springframework.aop.target

    Classes in org.springframework.aop.target that implement TargetSource
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBeanFactoryBasedTargetSource` Base class for `TargetSource` implementations that are based on a Spring `BeanFactory`, delegating to Spring-managed bean instances.
    `class` | `AbstractLazyCreationTargetSource` `TargetSource` implementation that will lazily create a user-managed object.
    `class` | `AbstractPoolingTargetSource` Abstract base class for pooling `TargetSource` implementations which maintain a pool of target instances, acquiring and releasing a target object from the pool for each method invocation.
    `class` | `AbstractPrototypeBasedTargetSource` Base class for dynamic `TargetSource` implementations that create new prototype bean instances to support a pooling or new-instance-per-invocation strategy.
    `class` | `CommonsPool2TargetSource` `TargetSource` implementation that holds objects in a configurable Apache Commons2 Pool.
    `class` | `EmptyTargetSource` Canonical `TargetSource` when there is no target (or just the target class known), and behavior is supplied by interfaces and advisors only.
    `class` | `HotSwappableTargetSource` `TargetSource` implementation that caches a local target object, but allows the target to be swapped while the application is running.
    `class` | `LazyInitTargetSource` `TargetSource` that lazily accesses a singleton bean from a `BeanFactory`.
    `class` | `PrototypeTargetSource` `TargetSource` implementation that creates a new instance of the target bean for each request, destroying each instance on release (after each request).
    `class` | `SimpleBeanTargetSource` Simple `TargetSource` implementation, freshly obtaining the specified target bean from its containing Spring `BeanFactory`.
    `class` | `SingletonTargetSource` Implementation of the `TargetSource` interface that holds a given object.
    `class` | `ThreadLocalTargetSource` Alternative to an object pool.

  - ### Uses of TargetSource in org.springframework.aop.target.dynamic

    Classes in org.springframework.aop.target.dynamic that implement TargetSource
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractRefreshableTargetSource` Abstract `TargetSource` implementation that wraps a refreshable target object.
    `class` | `BeanFactoryRefreshableTargetSource` Refreshable TargetSource that fetches fresh target beans from a BeanFactory.

  - ### Uses of TargetSource in org.springframework.jndi

    Classes in org.springframework.jndi that implement TargetSource
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JndiObjectTargetSource` AOP `TargetSource` that provides configurable JNDI lookups for `getTarget()` calls.

  - ### Uses of TargetSource in org.springframework.scripting.support

    Classes in org.springframework.scripting.support that implement TargetSource
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RefreshableScriptTargetSource` Subclass of `BeanFactoryRefreshableTargetSource` that determines whether a refresh is required through the given `ScriptFactory`.

    Methods in org.springframework.scripting.support with parameters of type TargetSource
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | ScriptFactoryPostProcessor.`createRefreshableProxy(TargetSource ts, Class<?>[] interfaces, boolean proxyTargetClass)` Create a refreshable proxy for the given AOP TargetSource.