@NonNullApi @NonNullFields

# 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.
  BeanDefinitionCustomizer | Callback for customizing a given bean definition.
  BeanExpressionResolver | Strategy interface for resolving a value by evaluating it as an expression, if applicable.
  BeanFactoryPostProcessor | Factory hook that 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 — for example, checking for marker interfaces or wrapping beans with proxies.
  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.
  YamlProcessor.DocumentMatcher | Strategy interface used to test if properties match.
  YamlProcessor.MatchCallback | Callback interface used to process the YAML parsing results.

- Class Summary
  Class | Description
  --- | ---
  AbstractFactoryBean<T> | Simple template superclass for `FactoryBean` implementations that creates a singleton or a prototype object, depending on a flag.
  AutowiredPropertyMarker | Simple marker class for an individually autowired property value, to be added to `BeanDefinition.getPropertyValues()` for a specific bean property.
  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.
  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.
  EmbeddedValueResolver | `StringValueResolver` adapter for resolving placeholders and expressions against a `ConfigurableBeanFactory`.
  FieldRetrievingFactoryBean | `FactoryBean` which retrieves a static or non-static field value.
  InstantiationAwareBeanPostProcessorAdapter | Deprecated as of 5.3 in favor of implementing `InstantiationAwareBeanPostProcessor` or `SmartInstantiationAwareBeanPostProcessor` directly.
  ListFactoryBean | Simple factory for shared List instances.
  MapFactoryBean | Simple factory for shared Map instances.
  MethodInvokingBean | Simple method invoker bean: just invoking a target method, not expecting a result to expose to the container (in contrast to `MethodInvokingFactoryBean`).
  MethodInvokingFactoryBean | `FactoryBean` which returns a value which is the result of a static or instance method invocation.
  NamedBeanHolder<T> | A simple holder for a given bean name plus bean instance.
  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 | Deprecated as of 5.2, along with `PropertyPlaceholderConfigurer`
  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 | Deprecated as of 5.2; use `org.springframework.context.support.PropertySourcesPlaceholderConfigurer` instead which is more flexible through taking advantage of the `Environment` and `PropertySource` mechanisms.
  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.
  YamlMapFactoryBean | Factory for a `Map` that reads from a YAML source, preserving the YAML-declared value types and their structure.
  YamlProcessor | Base class for YAML factories.
  YamlPropertiesFactoryBean | Factory for `Properties` that reads from a YAML source, exposing a flat structure of String property values.

- Enum Summary
  Enum | Description
  --- | ---
  YamlProcessor.MatchStatus | Status returned from `YamlProcessor.DocumentMatcher.matches(java.util.Properties)`.
  YamlProcessor.ResolutionMethod | Method to use for resolving resources.

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

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