spring-framework / org.springframework.beans.factory.support / ChildBeanDefinition

ChildBeanDefinition

open class ChildBeanDefinition : AbstractBeanDefinition

Bean definition for beans which inherit settings from their parent. Child bean definitions have a fixed dependency on a parent bean definition.

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 method. This effectively supersedes the ChildBeanDefinition class for most use cases.

Author
Rod Johnson

Author
Juergen Hoeller

See Also
GenericBeanDefinitionRootBeanDefinition

Constructors

<init>

ChildBeanDefinition(parentName: String)

Create a new ChildBeanDefinition for the given parent, to be configured through its bean properties and configuration methods.

ChildBeanDefinition(parentName: String, pvs: MutablePropertyValues)
ChildBeanDefinition(parentName: String, cargs: ConstructorArgumentValues, pvs: MutablePropertyValues)

Create a new ChildBeanDefinition for the given parent.

ChildBeanDefinition(parentName: String, beanClass: Class<*>, cargs: ConstructorArgumentValues, pvs: MutablePropertyValues)

Create a new ChildBeanDefinition for the given parent, providing constructor arguments and property values.

ChildBeanDefinition(parentName: String, beanClassName: String, cargs: ConstructorArgumentValues, pvs: MutablePropertyValues)

Create a new ChildBeanDefinition for the given parent, providing constructor arguments and property values. Takes a bean class name to avoid eager loading of the bean class.

ChildBeanDefinition(original: ChildBeanDefinition)

Create a new ChildBeanDefinition as deep copy of the given bean definition.

Functions

cloneBeanDefinition

open fun cloneBeanDefinition(): AbstractBeanDefinition

equals

open fun equals(other: Any?): Boolean

getParentName

open fun getParentName(): String

hashCode

open fun hashCode(): Int

setParentName

open fun setParentName(parentName: String): Unit

toString

open fun toString(): String

validate

open fun validate(): Unit