## Uses of Interface
org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor

- Packages that use SmartInstantiationAwareBeanPostProcessor
  Package | Description
  --- | ---
  org.springframework.aop.aspectj.annotation | Classes enabling AspectJ 5 @Annotated classes to be used in Spring AOP.
  org.springframework.aop.aspectj.autoproxy | Base classes enabling auto-proxying based on AspectJ.
  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.beans.factory.annotation | Support package for annotation-driven bean configuration.
  org.springframework.beans.factory.config | SPI interfaces and configuration-related convenience classes for bean factories.
  org.springframework.scripting.support | Support classes for Spring's scripting package.

- - ### Uses of SmartInstantiationAwareBeanPostProcessor in org.springframework.aop.aspectj.annotation

    Classes in org.springframework.aop.aspectj.annotation that implement SmartInstantiationAwareBeanPostProcessor
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AnnotationAwareAspectJAutoProxyCreator` `AspectJAwareAdvisorAutoProxyCreator` subclass that processes all AspectJ annotation aspects in the current application context, as well as Spring Advisors.

  - ### Uses of SmartInstantiationAwareBeanPostProcessor in org.springframework.aop.aspectj.autoproxy

    Classes in org.springframework.aop.aspectj.autoproxy that implement SmartInstantiationAwareBeanPostProcessor
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AspectJAwareAdvisorAutoProxyCreator` `AbstractAdvisorAutoProxyCreator` subclass that exposes AspectJ's invocation context and understands AspectJ's rules for advice precedence when multiple pieces of advice come from the same aspect.

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

    Classes in org.springframework.aop.framework.autoproxy that implement SmartInstantiationAwareBeanPostProcessor
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractAdvisorAutoProxyCreator` Generic auto proxy creator that builds AOP proxies for specific beans based on detected Advisors for each bean.
    `class` | `AbstractAutoProxyCreator` `BeanPostProcessor` implementation that wraps each eligible bean with an AOP proxy, delegating to specified interceptors before invoking the bean itself.
    `class` | `BeanNameAutoProxyCreator` Auto proxy creator that identifies beans to proxy via a list of names.
    `class` | `DefaultAdvisorAutoProxyCreator` `BeanPostProcessor` implementation that creates AOP proxies based on all candidate `Advisor`s in the current `BeanFactory`.
    `class` | `InfrastructureAdvisorAutoProxyCreator` Auto-proxy creator that considers infrastructure Advisor beans only, ignoring any application-defined Advisors.

  - ### Uses of SmartInstantiationAwareBeanPostProcessor in org.springframework.beans.factory.annotation

    Classes in org.springframework.beans.factory.annotation that implement SmartInstantiationAwareBeanPostProcessor
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AutowiredAnnotationBeanPostProcessor` `BeanPostProcessor` implementation that autowires annotated fields, setter methods, and arbitrary config methods.
    `class` | `RequiredAnnotationBeanPostProcessor` Deprecated. as of 5.1, in favor of using constructor injection for required settings (or a custom `InitializingBean` implementation)

  - ### Uses of SmartInstantiationAwareBeanPostProcessor in org.springframework.beans.factory.config

    Classes in org.springframework.beans.factory.config that implement SmartInstantiationAwareBeanPostProcessor
    Modifier and Type | Class and Description
    --- | ---
    `class` | `InstantiationAwareBeanPostProcessorAdapter` Deprecated. as of 5.3 in favor of implementing `InstantiationAwareBeanPostProcessor` or `SmartInstantiationAwareBeanPostProcessor` directly.

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

    Classes in org.springframework.scripting.support that implement SmartInstantiationAwareBeanPostProcessor
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ScriptFactoryPostProcessor` `BeanPostProcessor` that handles `ScriptFactory` definitions, replacing each factory with the actual scripted Java object generated by it.