Class GenericBeanDefinition
java.lang.Object
org.springframework.core.AttributeAccessorSupport
org.springframework.beans.BeanMetadataAttributeAccessor
org.springframework.beans.factory.support.AbstractBeanDefinition
org.springframework.beans.factory.support.GenericBeanDefinition
- All Implemented Interfaces:
Serializable
,Cloneable
,BeanMetadataElement
,BeanDefinition
,AttributeAccessor
- Direct Known Subclasses:
AnnotatedGenericBeanDefinition
,ScannedGenericBeanDefinition
GenericBeanDefinition is a one-stop shop for declarative bean definition purposes.
Like all common bean definitions, it allows for specifying a class plus optionally
constructor argument values and property values. Additionally, deriving from a
parent bean definition can be flexibly configured through the "parentName" property.
In general, use this GenericBeanDefinition
class for the purpose of
registering declarative bean definitions (for example, XML definitions which a bean
post-processor might operate on, potentially even reconfiguring the parent name).
Use RootBeanDefinition
/ChildBeanDefinition
where parent/child
relationships happen to be pre-determined, and prefer RootBeanDefinition
specifically for programmatic definitions derived from factory methods/suppliers.
- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.beans.factory.support.AbstractBeanDefinition
AUTOWIRE_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, ORDER_ATTRIBUTE, PREFERRED_CONSTRUCTORS_ATTRIBUTE, SCOPE_DEFAULT
Fields inherited from interface org.springframework.beans.factory.config.BeanDefinition
ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON
-
Constructor Summary
ConstructorDescriptionCreate a new GenericBeanDefinition, to be configured through its bean properties and configuration methods.GenericBeanDefinition
(BeanDefinition original) Create a new GenericBeanDefinition as deep copy of the given bean definition. -
Method Summary
Modifier and TypeMethodDescriptionClone this bean definition.boolean
Return the name of the parent definition of this bean definition, if any.void
setParentName
(String parentName) Set the name of the parent definition of this bean definition, if any.toString()
Methods inherited from class org.springframework.beans.factory.support.AbstractBeanDefinition
addQualifier, applyDefaults, clone, copyQualifiersFrom, getAutowireMode, getBeanClass, getBeanClassName, getConstructorArgumentValues, getDependencyCheck, getDependsOn, getDescription, getDestroyMethodName, getDestroyMethodNames, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getInitMethodNames, getInstanceSupplier, getLazyInit, getMethodOverrides, getOriginatingBeanDefinition, getPropertyValues, getQualifier, getQualifiers, getResolvableType, getResolvedAutowireMode, getResource, getResourceDescription, getRole, getScope, hasBeanClass, hasConstructorArgumentValues, hashCode, hasMethodOverrides, hasPropertyValues, hasQualifier, isAbstract, isAutowireCandidate, isBackgroundInit, isDefaultCandidate, isEnforceDestroyMethod, isEnforceInitMethod, isFallback, isLazyInit, isLenientConstructorResolution, isNonPublicAccessAllowed, isPrimary, isPrototype, isSingleton, isSynthetic, overrideFrom, prepareMethodOverride, prepareMethodOverrides, resolveBeanClass, setAbstract, setAutowireCandidate, setAutowireMode, setBackgroundInit, setBeanClass, setBeanClassName, setConstructorArgumentValues, setDefaultCandidate, setDependencyCheck, setDependsOn, setDescription, setDestroyMethodName, setDestroyMethodNames, setEnforceDestroyMethod, setEnforceInitMethod, setFactoryBeanName, setFactoryMethodName, setFallback, setInitMethodName, setInitMethodNames, setInstanceSupplier, setLazyInit, setLenientConstructorResolution, setMethodOverrides, setNonPublicAccessAllowed, setOriginatingBeanDefinition, setPrimary, setPropertyValues, setResource, setResourceDescription, setRole, setScope, setSynthetic, validate
Methods inherited from class org.springframework.beans.BeanMetadataAttributeAccessor
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
Methods inherited from class org.springframework.core.AttributeAccessorSupport
attributeNames, computeAttribute, copyAttributesFrom, hasAttribute
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.core.AttributeAccessor
attributeNames, computeAttribute, getAttribute, hasAttribute, removeAttribute, setAttribute
Methods inherited from interface org.springframework.beans.BeanMetadataElement
getSource
-
Constructor Details
-
GenericBeanDefinition
public GenericBeanDefinition()Create a new GenericBeanDefinition, to be configured through its bean properties and configuration methods.- See Also:
-
AbstractBeanDefinition.setBeanClass(java.lang.Class<?>)
AbstractBeanDefinition.setScope(java.lang.String)
AbstractBeanDefinition.setConstructorArgumentValues(org.springframework.beans.factory.config.ConstructorArgumentValues)
AbstractBeanDefinition.setPropertyValues(org.springframework.beans.MutablePropertyValues)
-
GenericBeanDefinition
Create a new GenericBeanDefinition as deep copy of the given bean definition.- Parameters:
original
- the original bean definition to copy from
-
-
Method Details
-
setParentName
Description copied from interface:BeanDefinition
Set the name of the parent definition of this bean definition, if any. -
getParentName
Description copied from interface:BeanDefinition
Return the name of the parent definition of this bean definition, if any. -
cloneBeanDefinition
Description copied from class:AbstractBeanDefinition
Clone this bean definition. To be implemented by concrete subclasses.- Specified by:
cloneBeanDefinition
in classAbstractBeanDefinition
- Returns:
- the cloned bean definition object
-
equals
- Overrides:
equals
in classAbstractBeanDefinition
-
toString
- Overrides:
toString
in classAbstractBeanDefinition
-