Spring中的NamespaceHandler接口及相关软件包说明
NamespaceHandler接口
NamespaceHandler 接口,DefaultBeanDefinitionDocumentReader 使用该接口来处理在spring xml 配置文件中自定义的命名空间。

在jdbc 模块,我们使用JdbcNamespaceHandler 来处理jdbc 配置的命名空间,其代码如下:
public class JdbcNamespaceHandler extends NamespaceHandlerSupport {
public JdbcNamespaceHandler() {
}
public void init() {
this.registerBeanDefinitionParser("embedded-database", new EmbeddedDatabaseBeanDefinitionParser());
this.registerBeanDefinitionParser("initialize-database", new InitializeDatabaseBeanDefinitionParser());
}
}其中, EmbeddedDatabaseBeanDefinitionParser 继承了AbstractBeanDefinitionParser , 解析<embedded-database> 元素, 并使用EmbeddedDatabaseFactoryBean 创建一个BeanDefinition。
顺便介绍一下用到的软件包org.w3c.dom。
软件包org.w3c.dom:为文档对象模型(DOM) 提供接口,该模型是Java API for XMLProcessing 的组件API。该Document Object Model Level 2 Core API 允许程序动态访问和更新文档的内容和结构。
- Attr:Attr 接口表示Element 对象中的属性。
- CDATASection: CDATA 节用于转义文本块,该文本块包含的字符如果不转义则会被视为标记。
- CharacterData: CharacterData 接口使用属性集合和用于访问DOM 中字符数据的方法扩展节点。
- Comment: 此接口继承自CharacterData 表示注释的内容,即起始'<!--' 和结束'-->' 之间的所有字符。
- Document: Document 接口表示整个HTML 或XML 文档。
- DocumentFragment: DocumentFragment 是“轻量级”或“最小”Document 对象。
- DocumentType: 每个Document 都有doctype 属性,该属性的值可以为null,也可以为DocumentType 对象。
- DOMConfiguration: 该DOMConfiguration 接口表示文档的配置,并维护一个可识别的参数表。
- DOMError: DOMError 是一个描述错误的接口。
- DOMErrorHandler: DOMErrorHandler 是在报告处理XML 数据时发生的错误或在进行某些其他处理(如验证文档)时DOM 实现可以调用的回调接口。
- DOMImplementation: DOMImplementation 接口为执行独立于文档对象模型的任何特定实例的操作提供了许多方法。
- DOMImplementationList: DOMImplementationList 接口提供对DOM 实现的有序集合的抽象,没有定义或约束如何实现此集合。
- DOMImplementationSource: 此接口允许DOM 实现程序根据请求的功能和版本提供一个或多个实现,如下所述。
- DOMLocator: DOMLocator 是一个描述位置(如发生错误的位置)的接口。
- DOMStringList: DOMStringList 接口提供对DOMString 值的有序集合的抽象,没有定义或约束此集合是如何实现的。
- Element: Element 接口表示HTML 或XML 文档中的一个元素。
- Entity: 此接口表示在XML 文档中解析和未解析的已知实体。
- EntityReference: EntityReference 节点可以用来在树中表示实体引用。
- NamedNodeMap: 实现NamedNodeMap 接口的对象用于表示可以通过名称访问的节点的集合。
- NameList NameList 接口提供对并行的名称和名称空间值对(可以为null 值)的有序集合的抽象,无需定义或约束如何实现此集合。
- Node: 该Node 接口是整个文档对象模型的主要数据类型。
- NodeList: NodeList 接口提供对节点的有序集合的抽象,没有定义或约束如何实现此集合。
- Notation: 此接口表示在DTD 中声明的表示法。
- ProcessingInstruction: ProcessingInstruction 接口表示“处理指令”,该指令作为一种在文档的文本中保持特定于处理器的信息的方法在XML 中使用。
- Text: 该Text 接口继承自CharacterData,并且表示Element 或Attr 的文本内容(在XML 中称为字符数据)。
- TypeInfo: TypeInfo 接口表示从Element 或Attr 节点引用的类型,用与文档相关的模式指定。
- UserDataHandler: 当使用Node.setUserData() 将一个对象与节点上的键相关联时,当克隆、导入或重命名该对象关联的节点时应用程序可以提供调用的处理程序。
到此这篇关于Spring中的NamespaceHandler接口及相关软件包说明的文章就介绍到这了,更多相关NamespaceHandler接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Mybatis Select Count(*)的返回值类型介绍
这篇文章主要介绍了Mybatis Select Count(*)的返回值类型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12
springboot下添加全局异常处理和自定义异常处理的过程解析
在spring项目中,优雅处理异常,好处是可以将系统产生的全部异常统一捕获处理,自定义的异常也由全局异常来捕获,如果涉及到validator参数校验器使用全局异常捕获也是较为方便,这篇文章主要介绍了springboot下添加全局异常处理和自定义异常处理,需要的朋友可以参考下2023-12-12
Java中ArrayList在foreach里remove的问题详析
这篇文章主要给大家介绍了关于Java中ArrayList在foreach里remove问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧2018-09-09
Java Stream 的 flatMap 与 map 的核
map进行元素到元素的单层转换,flatMap则将元素映射为流后再扁平化处理,适用于嵌套结构展开,二者核心差异在于是否展开多层数据,选择时需根据数据结构层级和性能需求决定,本文给大家介绍Java Stream 的flatMap与map的核心区别,感兴趣的朋友一起看看吧2025-08-08


最新评论