# Package org.springframework.beans

@NonNullApi @NonNullFields package org.springframework.beans
This package contains interfaces and classes for manipulating Java beans. It is used by most other Spring packages.

A BeanWrapper object may be used to set and get bean properties, singly or in bulk.

The classes in this package are discussed in Chapter 11 of Expert One-On-One J2EE Design and Development by Rod Johnson (Wrox, 2002).

Related Packages
Package
Description
org.springframework.beans.factory
The core package implementing Spring's lightweight Inversion of Control (IoC) container.
org.springframework.beans.propertyeditors
Properties editors used to convert from String values to object types such as java.util.Properties.
org.springframework.beans.support
Classes supporting the org.springframework.beans package, such as utility classes for sorting and holding lists of beans.
Class
Description
AbstractNestablePropertyAccessor
A basic `ConfigurablePropertyAccessor` that provides the necessary infrastructure for all typical use cases.
AbstractNestablePropertyAccessor.PropertyHandler
A handler for a specific property.
AbstractNestablePropertyAccessor.PropertyTokenHolder
Holder class used to store property tokens.
AbstractPropertyAccessor
Abstract implementation of the `PropertyAccessor` interface.
BeanInfoFactory
Strategy interface for creating `BeanInfo` instances for Spring beans.
BeanInstantiationException
Exception thrown when instantiation of a bean failed.
BeanMetadataAttribute
Holder for a key-value style attribute that is part of a bean definition.
BeanMetadataAttributeAccessor
Extension of `AttributeAccessorSupport`, holding attributes as `BeanMetadataAttribute` objects in order to keep track of the definition source.
BeanMetadataElement
Interface to be implemented by bean metadata elements that carry a configuration source object.
BeansException
Abstract superclass for all exceptions thrown in the beans package and subpackages.
BeanUtils
Static convenience methods for JavaBeans: for instantiating beans, checking bean property types, copying bean properties, etc.
BeanWrapper
The central interface of Spring's low-level JavaBeans infrastructure.
BeanWrapperImpl
Default `BeanWrapper` implementation that should be sufficient for all typical use cases.
CachedIntrospectionResults
Internal class that caches JavaBeans `PropertyDescriptor` information for a Java class.
ConfigurablePropertyAccessor
Interface that encapsulates configuration methods for a PropertyAccessor.
ConversionNotSupportedException
Exception thrown when no suitable editor or converter can be found for a bean property.
DirectFieldAccessor
`ConfigurablePropertyAccessor` implementation that directly accesses instance fields.
ExtendedBeanInfoFactory
Extension of `StandardBeanInfoFactory` that supports "non-standard" JavaBeans setter methods through introspection by Spring's (package-visible) `ExtendedBeanInfo` implementation.
FatalBeanException
Thrown on an unrecoverable problem encountered in the beans packages or sub-packages, for example, bad class or field.
InvalidPropertyException
Exception thrown when referring to an invalid bean property.
Mergeable
Interface representing an object whose value set can be merged with that of a parent object.
MethodInvocationException
Thrown when a bean property getter or setter method throws an exception, analogous to an InvocationTargetException.
MutablePropertyValues
The default implementation of the `PropertyValues` interface.
NotReadablePropertyException
Exception thrown on an attempt to get the value of a property that isn't readable, because there's no getter method.
NotWritablePropertyException
Exception thrown on an attempt to set the value of a property that is not writable (typically because there is no setter method).
NullValueInNestedPathException
Exception thrown when navigation of a valid nested property path encounters a NullPointerException.
PropertyAccessException
Superclass for exceptions related to a property access, such as type mismatch or invocation target exception.
PropertyAccessor
Common interface for classes that can access named properties (such as bean properties of an object or fields in an object).
PropertyAccessorFactory
Simple factory facade for obtaining `PropertyAccessor` instances, in particular for `BeanWrapper` instances.
PropertyAccessorUtils
Utility methods for classes that perform bean property access according to the `PropertyAccessor` interface.
PropertyBatchUpdateException
Combined exception, composed of individual PropertyAccessException instances.
PropertyEditorRegistrar
Interface for strategies that register custom `property editors` with a `property editor registry`.
PropertyEditorRegistry
Encapsulates methods for registering JavaBeans `PropertyEditors`.
PropertyEditorRegistrySupport
Base implementation of the `PropertyEditorRegistry` interface.
PropertyMatches
Helper class for calculating property matches, according to a configurable distance.
PropertyValue
Object to hold information and value for an individual bean property.
PropertyValues
Holder containing one or more `PropertyValue` objects, typically comprising one update for a specific target bean.
PropertyValuesEditor
`Editor` for a `PropertyValues` object.
SimpleTypeConverter
Simple implementation of the `TypeConverter` interface that does not operate on a specific target object.
StandardBeanInfoFactory
`BeanInfoFactory` implementation that performs standard `Introspector` inspection.
TypeConverter
Interface that defines type conversion methods.
TypeConverterSupport
Base implementation of the `TypeConverter` interface, using a package-private delegate.
TypeMismatchException
Exception thrown on a type mismatch when trying to set a bean property.