`
id.alex
  • 浏览: 22780 次
社区版块
存档分类
最新评论

Spring 自定义命名空间 xsd

    博客分类:
  • Java
阅读更多
编写这两个文件
META-INF/spring.handlers
META-INF/spring.schemas

写法可以参照spring 那包下那两个文件,

Handler 继承  org.springframework.beans.factory.xml.NamespaceHandlerSupport

覆盖父类的 init(),

方法里调用
void org.springframework.beans.factory.xml.NamespaceHandlerSupport.registerBeanDefinitionParser(String elementName, BeanDefinitionParser parser)

----------------------------------------------------------------------------------
下面是 Spring 加载原理
可以看到那两个文件都是 properties 格式的。

spring Application context 启动时执行:
void org.springframework.context.support.AbstractApplicationContext.refresh() 


直到调用

String org.springframework.beans.factory.xml.PluggableSchemaResolver.getSchemaMapping(String systemId)


通过
Enumeration<URL> = ClassLoader.getResources(String name)  


获取对应文件的 URL ,然后就可以获取 Input 流,读取这两个 properties  文件。
分享到:
评论

相关推荐

    spring 自定义xsd

    下面将详细解释如何进行Spring自定义XSD。 首先,你需要创建一个XML Schema文件,比如`myCustomSchema.xsd`。在这个文件中,你可以定义新的元素、属性,甚至引用Spring的标准元素。例如,你可以定义一个`myBean`...

    Spring-3.0.xsd

    - **Namespace Handler**:允许自定义命名空间,扩展XML配置,如数据源、任务调度等。 - **Profile**:支持环境相关的配置,可以根据不同的运行环境加载不同的配置。 - **Lazy Initialization**:通过lazy-init属性...

    自定义 Schema 解析 Spring Bean

    自定义Schema解析是Spring框架提供的一个强大特性,它允许开发者创建自己的XML命名空间,从而定义自己的配置元素和属性。这在大型项目中特别有用,因为可以创建特定于项目的配置约定,提高代码的可读性和可维护性。 ...

    spring自定义标签

    至此,我们就完成了Spring自定义标签的全部流程。在实际应用中,可以根据项目需求定义各种自定义标签,简化配置,提高开发效率。同时,自定义标签也可以更好地封装复杂逻辑,使XML配置更加清晰易懂。

    spring xsd文件

    1. **检查XML文件的命名空间引用**:确保XML文件中引用了正确的Spring XSD版本,例如: ```xml xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

    扩展Spring schema样例代码 maven

    例如,假设我们有一个名为`myapp`的自定义命名空间,对应的解析器和处理器类在`com.example.schema`包下,那么在Spring配置文件中可能会这样写: ```xml &lt;beans xmlns="http://www.springframework.org/schema/...

    Spring源码解密之自定义标签与解析

    本篇文章将深入探讨Spring自定义标签的定义、解析以及相关源码分析。 首先,自定义标签的定义通常涉及到两个主要步骤: 1. **定义XSD文件**: XSD(XML Schema Definition)文件用于描述XML文档的结构和数据类型...

    Spring自定义配置Schema可扩展(一)

    在实际应用中,`@Endpoint`注解可能会包含一些属性,比如服务的命名空间、端点地址等。在`BeanDefinitionParser`中,我们需要读取这些属性,并将它们设置到生成的`BeanDefinition`中。这样,当Spring初始化bean时,...

    springsecurity中文

    我们推荐你尝试一下 SpringSource 工具套件,因为它具有处理 Spring 组合命名空间的特殊功能。 要开始在你的应用环境里使用 security 命名空间,你所需要的就是把架构声明添加到你的应用环境文件里: ...

    ssm框架使用的约束文件

    这段XML声明了使用Spring beans的命名空间,并指定了对应的`.xsd`文件位置。 SpringMVC的配置也是类似,如: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    自定义xml标签

    接下来,我们需要在Spring的`schemaLocation`中声明这个自定义标签的命名空间和解析器。在XML配置文件的头部添加以下内容: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    Springmvc最全约束配置文件

    配置文件采用XML格式编写,使用了Spring提供的多个命名空间来组织不同的配置信息。下面逐一解读这些命名空间及其功能: 1. **`xmlns="http://www.springframework.org/schema/beans"`**: - **作用**:定义Spring ...

    dubbo.xsd 文件 解决dubbo标签识别问题

    这些标签并不属于标准的XML或Spring的命名空间,因此,XML解析器在没有相应的XSD文件定义时,会识别不了这些自定义标签,导致编译或运行时错误。 "Dubbo.xsd"文件正是解决这个问题的关键。这个文件包含了所有Dubbo...

    spring标签.zip

    这些引入声明了我们将会使用的标签库及其命名空间。 在实际应用中,我们可以通过`&lt;bean&gt;`标签来定义bean,并通过`ref`属性来进行bean间的依赖注入,例如: ```xml ``` 这里,`service` bean的`repository`属性...

    xml中的xmlns:、xmlns:xsi和xsi:schemaLocation.doc

    xsi:schemaLocation是指本文档里的XML元素所遵守的规范,两部分组成,前面部分就是命名空间的名字,后面是xsd(xml schema)的地址。例如,在Spring框架的配置文件中,使用xsi:schemaLocation=...

    spring总结笔记

    - 在`beans.xml`文件中,需要声明Spring的XML命名空间以及对应的XSD约束文件。这样做的目的是为了能够正确解析Spring特有的标签和属性,并且在IDE中提供代码补全等功能。示例如下: ```xml ...

    spring定时器的包和配置文件

    在XML配置文件中,我们需要添加Spring Task的命名空间声明,这样可以使用其提供的元素。这通常包括: ```xml xmlns:task="http://www.springframework.org/schema/task" ...

    spring1.x使用AOP实例

    我们需要引入AOP命名空间,并声明一个`&lt;aop:config&gt;`元素来启用AOP功能: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:...

    EL自定义函数引用

    - **类与方法命名**: 类名和方法名应该具有良好的可读性和语义性,以便于后续理解和维护。 - **方法签名**: 方法应该遵循特定的格式,通常返回类型为`String`、`Integer`等基本类型或包装类,参数列表则根据具体需求...

Global site tag (gtag.js) - Google Analytics