NamespaceHandler 接口
NamespaceHandler 接口,DefaultBeanDefinitionDocumentReader 使用該接口來(lái)處理在spring xml 配置文件中自定義的命名空間。
?在jdbc 模塊,我們使用JdbcNamespaceHandler 來(lái)處理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 創(chuàng)建一個(gè)BeanDefinition。順便介紹一下用到的軟件包org.w3c.dom。
軟件包org.w3c.dom:為文檔對(duì)象模型(DOM) 提供接口,該模型是Java API for XMLProcessing 的組件API。該Document Object Model Level 2 Core API 允許程序動(dòng)態(tài)訪問(wèn)和更新文檔的內(nèi)容和結(jié)構(gòu)。
Attr:Attr 接口表示Element 對(duì)象中的屬性。
CDATASection: CDATA 節(jié)用于轉(zhuǎn)義文本塊,該文本塊包含的字符如果不轉(zhuǎn)義則會(huì)被視為標(biāo)記。
CharacterData: CharacterData 接口使用屬性集合和用于訪問(wèn)DOM 中字符數(shù)據(jù)的方法擴(kuò)展節(jié)點(diǎn)。
Comment: 此接口繼承自CharacterData 表示注釋的內(nèi)容,即起始'<!--' 和結(jié)束'-->' 之間的所有字符。
Document: Document 接口表示整個(gè)HTML 或XML 文檔。
DocumentFragment: DocumentFragment 是“輕量級(jí)”或“最小”Document 對(duì)象。
DocumentType: 每個(gè)Document 都有doctype 屬性,該屬性的值可以為null,也可以為DocumentType 對(duì)象。
DOMConfiguration: 該DOMConfiguration 接口表示文檔的配置,并維護(hù)一個(gè)可識(shí)別的參數(shù)表。
DOMError: DOMError 是一個(gè)描述錯(cuò)誤的接口。
DOMErrorHandler: DOMErrorHandler 是在報(bào)告處理XML 數(shù)據(jù)時(shí)發(fā)生的錯(cuò)誤或在進(jìn)行某些其他處理(如驗(yàn)證文檔)時(shí)DOM 實(shí)現(xiàn)可以調(diào)用的回調(diào)接口。
DOMImplementation: DOMImplementation 接口為執(zhí)行獨(dú)立于文檔對(duì)象模型的任何特定實(shí)例的操作提供了許多方法。
DOMImplementationList: DOMImplementationList 接口提供對(duì)DOM 實(shí)現(xiàn)的有序集合的抽象,沒(méi)有定義或約束如何實(shí)現(xiàn)此集合。
DOMImplementationSource: 此接口允許DOM 實(shí)現(xiàn)程序根據(jù)請(qǐng)求的功能和版本提供一個(gè)或多個(gè)實(shí)現(xiàn),如下所述。
DOMLocator: DOMLocator 是一個(gè)描述位置(如發(fā)生錯(cuò)誤的位置)的接口。
DOMStringList: DOMStringList 接口提供對(duì)DOMString 值的有序集合的抽象,沒(méi)有定義或約束此集合是如何實(shí)現(xiàn)的。
Element: Element 接口表示HTML 或XML 文檔中的一個(gè)元素。
Entity: 此接口表示在XML 文檔中解析和未解析的已知實(shí)體。
EntityReference: EntityReference 節(jié)點(diǎn)可以用來(lái)在樹中表示實(shí)體引用。
NamedNodeMap: 實(shí)現(xiàn)NamedNodeMap 接口的對(duì)象用于表示可以通過(guò)名稱訪問(wèn)的節(jié)點(diǎn)的集合。
NameList NameList 接口提供對(duì)并行的名稱和名稱空間值對(duì)(可以為null 值)的有序集合的抽象,無(wú)需定義或約束如何實(shí)現(xiàn)此集合。
Node: 該Node 接口是整個(gè)文檔對(duì)象模型的主要數(shù)據(jù)類型。
NodeList: NodeList 接口提供對(duì)節(jié)點(diǎn)的有序集合的抽象,沒(méi)有定義或約束如何實(shí)現(xiàn)此集合。
Notation: 此接口表示在DTD 中聲明的表示法。
ProcessingInstruction: ProcessingInstruction 接口表示“處理指令”,該指令作為一種在文檔的文本中保持特定于處理器的信息的方法在XML 中使用。
Text: 該Text 接口繼承自CharacterData,并且表示Element 或Attr 的文本內(nèi)容(在XML 中稱為字符數(shù)據(jù))。
TypeInfo: TypeInfo 接口表示從Element 或Attr 節(jié)點(diǎn)引用的類型,用與文檔相關(guān)的模式指定。
UserDataHandler: 當(dāng)使用Node.setUserData() 將一個(gè)對(duì)象與節(jié)點(diǎn)上的鍵相關(guān)聯(lián)時(shí),當(dāng)克隆、導(dǎo)入或重命名該對(duì)象關(guān)聯(lián)的節(jié)點(diǎn)時(shí)應(yīng)用程序可以提供調(diào)用的處理程序。
?
總結(jié)
以上是生活随笔為你收集整理的NamespaceHandler 接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SQLErrorCodeSQLExcep
- 下一篇: Spring 事务core 模块-Jdb