# Uses of Interface
org.springframework.aop.TargetClassAware

Packages that use TargetClassAware
Package
Description
org.springframework.aop
Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.
org.springframework.aop.aspectj.annotation
Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.
org.springframework.aop.framework
Package containing Spring's basic AOP infrastructure, compliant with the AOP Alliance interfaces.
org.springframework.aop.target
Various `TargetSource` implementations for use with Spring AOP.
org.springframework.aop.target.dynamic
Support for dynamic, refreshable `TargetSource` implementations for use with Spring AOP.

## Uses of TargetClassAware in org.springframework.aop

Subinterfaces of TargetClassAware in org.springframework.aop
Modifier and Type
Interface
Description
`interface`
`TargetSource`
A `TargetSource` is used to obtain the current "target" of an AOP invocation, which will be invoked via reflection if no around advice chooses to end the interceptor chain itself.

## Uses of TargetClassAware in org.springframework.aop.aspectj.annotation

Classes in org.springframework.aop.aspectj.annotation that implement TargetClassAware
Modifier and Type
Class
Description
`class`
`AspectJProxyFactory`
AspectJ-based proxy factory, allowing for programmatic building of proxies which include AspectJ aspects (code style as well annotation style).

## Uses of TargetClassAware in org.springframework.aop.framework

Subinterfaces of TargetClassAware in org.springframework.aop.framework
Modifier and Type
Interface
Description
`interface`
`Advised`
Interface to be implemented by classes that hold the configuration of a factory of AOP proxies.
Classes in org.springframework.aop.framework that implement TargetClassAware
Modifier and Type
Class
Description
`class`
`AdvisedSupport`
Base class for AOP proxy configuration managers.
`class`
`ProxyCreatorSupport`
Base class for proxy factories.
`class`
`ProxyFactory`
Factory for AOP proxies for programmatic use, rather than via declarative setup in a bean factory.
`class`
`ProxyFactoryBean`
`FactoryBean` implementation that builds an AOP proxy based on beans in a Spring `BeanFactory`.

## Uses of TargetClassAware in org.springframework.aop.target

Classes in org.springframework.aop.target that implement TargetClassAware
Modifier and Type
Class
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.
`final 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 TargetClassAware in org.springframework.aop.target.dynamic

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