类 AbstractSingleBeanDefinitionParser
- java.lang.Object
- org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
- org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
- 所有已实现的接口:
BeanDefinitionParser
- 直接已知子类:
AbstractSimpleBeanDefinitionParser
,ExecutorBeanDefinitionParser
,FreeMarkerConfigurerBeanDefinitionParser
,JtaTransactionManagerBeanDefinitionParser
,ScheduledTasksBeanDefinitionParser
,SchedulerBeanDefinitionParser
,TilesConfigurerBeanDefinitionParser
public abstract class AbstractSingleBeanDefinitionParser extends AbstractBeanDefinitionParser
Base class for thoseBeanDefinitionParser
implementations that need to parse and define just a singleBeanDefinition
.Extend this parser class when you want to create a single bean definition from an arbitrarily complex XML element. You may wish to consider extending the
AbstractSimpleBeanDefinitionParser
when you want to create a single bean definition from a relatively simple custom XML element.The resulting
BeanDefinition
will be automatically registered with theBeanDefinitionRegistry
. Your job simply is toparse
the custom XMLElement
into a singleBeanDefinition
.- 从以下版本开始:
- 2.0
- 作者:
- Rob Harrop, Juergen Hoeller, Rick Evans
- 另请参阅:
getBeanClass(org.w3c.dom.Element)
,getBeanClassName(org.w3c.dom.Element)
,doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
字段概要
从类继承的字段 org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
ID_ATTRIBUTE, NAME_ATTRIBUTE
构造器概要
构造器 构造器 说明 AbstractSingleBeanDefinitionParser()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected void
doParse(Element element, BeanDefinitionBuilder builder)
Parse the suppliedElement
and populate the suppliedBeanDefinitionBuilder
as required.protected void
doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
Parse the suppliedElement
and populate the suppliedBeanDefinitionBuilder
as required.protected Class<?>
getBeanClass(Element element)
Determine the bean class corresponding to the suppliedElement
.protected String
getBeanClassName(Element element)
Determine the bean class name corresponding to the suppliedElement
.protected String
getParentName(Element element)
Determine the name for the parent of the currently parsed bean, in case of the current bean being defined as a child bean.protected AbstractBeanDefinition
parseInternal(Element element, ParserContext parserContext)
Creates aBeanDefinitionBuilder
instance for thebean Class
and passes it to thedoParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
strategy method.从类继承的方法 org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
parse, postProcessComponentDefinition, registerBeanDefinition, resolveId, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliases
构造器详细资料
AbstractSingleBeanDefinitionParser
public AbstractSingleBeanDefinitionParser()
方法详细资料
parseInternal
protected final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext)
Creates aBeanDefinitionBuilder
instance for thebean Class
and passes it to thedoParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
strategy method.- 指定者:
parseInternal
在类中AbstractBeanDefinitionParser
- 参数:
element
- the element that is to be parsed into a single BeanDefinitionparserContext
- the object encapsulating the current state of the parsing process- 返回:
- the BeanDefinition resulting from the parsing of the supplied
Element
- 抛出:
IllegalStateException
- if the beanClass
returned fromgetBeanClass(org.w3c.dom.Element)
isnull
- 另请参阅:
doParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)
getParentName
protected String getParentName(Element element)
Determine the name for the parent of the currently parsed bean, in case of the current bean being defined as a child bean.The default implementation returns
null
, indicating a root bean definition.- 参数:
element
- theElement
that is being parsed- 返回:
- the name of the parent bean for the currently parsed bean, or
null
if none
getBeanClass
protected Class<?> getBeanClass(Element element)
Determine the bean class corresponding to the suppliedElement
.Note that, for application classes, it is generally preferable to override
getBeanClassName(org.w3c.dom.Element)
instead, in order to avoid a direct dependence on the bean implementation class. The BeanDefinitionParser and its NamespaceHandler can be used within an IDE plugin then, even if the application classes are not available on the plugin's classpath.- 参数:
element
- theElement
that is being parsed- 返回:
- the
Class
of the bean that is being defined via parsing the suppliedElement
, ornull
if none - 另请参阅:
getBeanClassName(org.w3c.dom.Element)
getBeanClassName
protected String getBeanClassName(Element element)
Determine the bean class name corresponding to the suppliedElement
.- 参数:
element
- theElement
that is being parsed- 返回:
- the class name of the bean that is being defined via parsing the supplied
Element
, ornull
if none - 另请参阅:
getBeanClass(org.w3c.dom.Element)
doParse
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
Parse the suppliedElement
and populate the suppliedBeanDefinitionBuilder
as required.The default implementation delegates to the
doParse
version without ParserContext argument.- 参数:
element
- the XML element being parsedparserContext
- the object encapsulating the current state of the parsing processbuilder
- used to define theBeanDefinition
- 另请参阅:
doParse(Element, BeanDefinitionBuilder)
doParse
protected void doParse(Element element, BeanDefinitionBuilder builder)
Parse the suppliedElement
and populate the suppliedBeanDefinitionBuilder
as required.The default implementation does nothing.
- 参数:
element
- the XML element being parsedbuilder
- used to define theBeanDefinition