# Package org.springframework.beans.factory.config

SPI interfaces and configuration-related convenience classes for bean factories.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AutowireCapableBeanFactory | Extension of the `BeanFactory` interface to be implemented by bean factories that are capable of autowiring, provided that they want to expose this functionality for existing bean instances.
  BeanDefinition | A BeanDefinition describes a bean instance, which has property values, constructor argument values, and further information supplied by concrete implementations.
  BeanExpressionResolver | Strategy interface for resolving a value through evaluating it as an expression, if applicable.
  BeanFactoryPostProcessor | Allows for custom modification of an application context's bean definitions, adapting the bean property values of the context's underlying bean factory.
  BeanPostProcessor | Factory hook that allows for custom modification of new bean instances, e.g.
  BeanReference | Interface that exposes a reference to a bean name in an abstract fashion.
  ConfigurableBeanFactory | Configuration interface to be implemented by most bean factories.
  ConfigurableListableBeanFactory | Configuration interface to be implemented by most listable bean factories.
  DestructionAwareBeanPostProcessor | Subinterface of `BeanPostProcessor` that adds a before-destruction callback.
  InstantiationAwareBeanPostProcessor | Subinterface of `BeanPostProcessor` that adds a before-instantiation callback, and a callback after instantiation but before explicit properties are set or autowiring occurs.
  Scope | Strategy interface used by a `ConfigurableBeanFactory`, representing a target scope to hold bean instances in.
  SingletonBeanRegistry | Interface that defines a registry for shared bean instances.
  SmartInstantiationAwareBeanPostProcessor | Extension of the `InstantiationAwareBeanPostProcessor` interface, adding a callback for predicting the eventual type of a processed bean.

- Class Summary
  Class | Description
  --- | ---
  AbstractFactoryBean<T> | Simple template superclass for `FactoryBean` implementations that creates a singleton or a prototype object, depending on a flag.
  BeanDefinitionHolder | Holder for a BeanDefinition with name and aliases.
  BeanDefinitionVisitor | Visitor class for traversing `BeanDefinition` objects, in particular the property values and constructor argument values contained in them, resolving bean metadata values.
  BeanExpressionContext | Context object for evaluating an expression within a bean definition.
  BeanReferenceFactoryBean | Deprecated as of Spring 3.2, in favor of using regular bean name aliases (which support placeholder parsing since Spring 2.5)
  CommonsLogFactoryBean | Deprecated as of Spring 3.2, in favor of a bean definition that points to the bean class "org.apache.commons.logging.LogFactory" and the factory method "getLog", passing in the log name as constructor argument
  ConstructorArgumentValues | Holder for constructor argument values, typically as part of a bean definition.
  ConstructorArgumentValues.ValueHolder | Holder for a constructor argument value, with an optional type attribute indicating the target type of the actual constructor argument.
  CustomEditorConfigurer | `BeanFactoryPostProcessor` implementation that allows for convenient registration of custom `property editors`.
  CustomScopeConfigurer | Simple `BeanFactoryPostProcessor` implementation that registers custom `Scope(s)` with the containing `ConfigurableBeanFactory`.
  DependencyDescriptor | Descriptor for a specific dependency that is about to be injected.
  DeprecatedBeanWarner | Bean factory post processor that logs a warning for `@Deprecated` beans.
  FieldRetrievingFactoryBean | `FactoryBean` which retrieves a static or non-static field value.
  InstantiationAwareBeanPostProcessorAdapter | Adapter that implements all methods on `SmartInstantiationAwareBeanPostProcessor` as no-ops, which will not change normal processing of each bean instantiated by the container.
  ListFactoryBean | Simple factory for shared List instances.
  MapFactoryBean | Simple factory for shared Map instances.
  MethodInvokingFactoryBean | `FactoryBean` which returns a value which is the result of a static or instance method invocation.
  ObjectFactoryCreatingFactoryBean | A `FactoryBean` implementation that returns a value which is an `ObjectFactory` that in turn returns a bean sourced from a `BeanFactory`.
  PlaceholderConfigurerSupport | Abstract base class for property resource configurers that resolve placeholders in bean definition property values.
  PreferencesPlaceholderConfigurer | Subclass of PropertyPlaceholderConfigurer that supports JDK 1.4's Preferences API (`java.util.prefs`).
  PropertiesFactoryBean | Allows for making a properties file from a classpath location available as Properties instance in a bean factory.
  PropertyOverrideConfigurer | Property resource configurer that overrides bean property values in an application context definition.
  PropertyPathFactoryBean | `FactoryBean` that evaluates a property path on a given target object.
  PropertyPlaceholderConfigurer | `PlaceholderConfigurerSupport` subclass that resolves ${...} placeholders against `local` `properties` and/or system properties and environment variables.
  PropertyResourceConfigurer | Allows for configuration of individual bean property values from a property resource, i.e.
  ProviderCreatingFactoryBean | A `FactoryBean` implementation that returns a value which is a JSR-330 `Provider` that in turn returns a bean sourced from a `BeanFactory`.
  RuntimeBeanNameReference | Immutable placeholder class used for a property value object when it's a reference to another bean name in the factory, to be resolved at runtime.
  RuntimeBeanReference | Immutable placeholder class used for a property value object when it's a reference to another bean in the factory, to be resolved at runtime.
  ServiceLocatorFactoryBean | A `FactoryBean` implementation that takes an interface which must have one or more methods with the signatures `MyType xxx()` or `MyType xxx(MyIdType id)` (typically, `MyService getService()` or `MyService getService(String id)`) and creates a dynamic proxy which implements that interface, delegating to an underlying `BeanFactory`.
  SetFactoryBean | Simple factory for shared Set instances.
  TypedStringValue | Holder for a typed String value.

## Package org.springframework.beans.factory.config Description

SPI interfaces and configuration-related convenience classes for bean factories.