public class ChildBeanDefinition extends AbstractBeanDefinition
A child bean definition will inherit constructor argument values, property values and method overrides from the parent, with the option to add new values. If init method, destroy method and/or static factory method are specified, they will override the corresponding parent settings. The remaining settings will always be taken from the child definition: depends on, autowire mode, dependency check, singleton, lazy init.
NOTE: Since Spring 2.5, the preferred way to register bean
 definitions programmatically is the GenericBeanDefinition class,
 which allows to dynamically define parent dependencies through the
 GenericBeanDefinition.setParentName(java.lang.String) method. This effectively
 supersedes the ChildBeanDefinition class for most use cases.
GenericBeanDefinition, 
RootBeanDefinition, 
Serialized FormAUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, DEPENDENCY_CHECK_ALL, DEPENDENCY_CHECK_NONE, DEPENDENCY_CHECK_OBJECTS, DEPENDENCY_CHECK_SIMPLE, INFER_METHOD, SCOPE_DEFAULTROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON| Constructor and Description | 
|---|
| ChildBeanDefinition(ChildBeanDefinition original)Create a new ChildBeanDefinition as deep copy of the given
 bean definition. | 
| ChildBeanDefinition(String parentName)Create a new ChildBeanDefinition for the given parent, to be
 configured through its bean properties and configuration methods. | 
| ChildBeanDefinition(String parentName,
                   Class<?> beanClass,
                   ConstructorArgumentValues cargs,
                   MutablePropertyValues pvs)Create a new ChildBeanDefinition for the given parent,
 providing constructor arguments and property values. | 
| ChildBeanDefinition(String parentName,
                   ConstructorArgumentValues cargs,
                   MutablePropertyValues pvs)Create a new ChildBeanDefinition for the given parent. | 
| ChildBeanDefinition(String parentName,
                   MutablePropertyValues pvs)Create a new ChildBeanDefinition for the given parent. | 
| ChildBeanDefinition(String parentName,
                   String beanClassName,
                   ConstructorArgumentValues cargs,
                   MutablePropertyValues pvs)Create a new ChildBeanDefinition for the given parent,
 providing constructor arguments and property values. | 
| Modifier and Type | Method and Description | 
|---|---|
| AbstractBeanDefinition | cloneBeanDefinition()Clone this bean definition. | 
| boolean | equals(Object other) | 
| String | getParentName()Return the name of the parent definition of this bean definition, if any. | 
| int | hashCode() | 
| void | setParentName(String parentName)Set the name of the parent definition of this bean definition, if any. | 
| String | toString() | 
| void | validate()Validate this bean definition. | 
addQualifier, applyDefaults, clone, copyQualifiersFrom, getAutowireMode, getBeanClass, getBeanClassName, getConstructorArgumentValues, getDependencyCheck, getDependsOn, getDescription, getDestroyMethodName, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getInstanceSupplier, getLazyInit, getMethodOverrides, getOriginatingBeanDefinition, getPropertyValues, getQualifier, getQualifiers, getResolvableType, getResolvedAutowireMode, getResource, getResourceDescription, getRole, getScope, hasBeanClass, hasConstructorArgumentValues, hasMethodOverrides, hasPropertyValues, hasQualifier, isAbstract, isAutowireCandidate, isEnforceDestroyMethod, isEnforceInitMethod, isLazyInit, isLenientConstructorResolution, isNonPublicAccessAllowed, isPrimary, isPrototype, isSingleton, isSynthetic, overrideFrom, prepareMethodOverride, prepareMethodOverrides, resolveBeanClass, setAbstract, setAutowireCandidate, setAutowireMode, setBeanClass, setBeanClassName, setConstructorArgumentValues, setDependencyCheck, setDependsOn, setDescription, setDestroyMethodName, setEnforceDestroyMethod, setEnforceInitMethod, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setInstanceSupplier, setLazyInit, setLenientConstructorResolution, setMethodOverrides, setNonPublicAccessAllowed, setOriginatingBeanDefinition, setPrimary, setPropertyValues, setResource, setResourceDescription, setRole, setScope, setSyntheticaddMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSourceattributeNames, copyAttributesFrom, hasAttributefinalize, getClass, notify, notifyAll, wait, wait, waitattributeNames, getAttribute, hasAttribute, removeAttribute, setAttributegetSourcepublic ChildBeanDefinition(String parentName)
parentName - the name of the parent beanAbstractBeanDefinition.setBeanClass(java.lang.Class<?>), 
AbstractBeanDefinition.setScope(java.lang.String), 
AbstractBeanDefinition.setConstructorArgumentValues(org.springframework.beans.factory.config.ConstructorArgumentValues), 
AbstractBeanDefinition.setPropertyValues(org.springframework.beans.MutablePropertyValues)public ChildBeanDefinition(String parentName, MutablePropertyValues pvs)
parentName - the name of the parent beanpvs - the additional property values of the childpublic ChildBeanDefinition(String parentName, ConstructorArgumentValues cargs, MutablePropertyValues pvs)
parentName - the name of the parent beancargs - the constructor argument values to applypvs - the additional property values of the childpublic ChildBeanDefinition(String parentName, Class<?> beanClass, ConstructorArgumentValues cargs, MutablePropertyValues pvs)
parentName - the name of the parent beanbeanClass - the class of the bean to instantiatecargs - the constructor argument values to applypvs - the property values to applypublic ChildBeanDefinition(String parentName, String beanClassName, ConstructorArgumentValues cargs, MutablePropertyValues pvs)
parentName - the name of the parent beanbeanClassName - the name of the class to instantiatecargs - the constructor argument values to applypvs - the property values to applypublic ChildBeanDefinition(ChildBeanDefinition original)
original - the original bean definition to copy frompublic void setParentName(@Nullable
                          String parentName)
BeanDefinition@Nullable public String getParentName()
BeanDefinitionpublic void validate()
              throws BeanDefinitionValidationException
AbstractBeanDefinitionvalidate in class AbstractBeanDefinitionBeanDefinitionValidationException - in case of validation failurepublic AbstractBeanDefinition cloneBeanDefinition()
AbstractBeanDefinitioncloneBeanDefinition in class AbstractBeanDefinitionpublic boolean equals(@Nullable
                      Object other)
equals in class AbstractBeanDefinitionpublic int hashCode()
hashCode in class AbstractBeanDefinitionpublic String toString()
toString in class AbstractBeanDefinition