spring的xml配置文件的xml文件头详解

spring的xml配置文件的xml文件头详解,第1张

在spring的xml配置文件中,在头部会出现如下的东西

这些奇怪的xmlns和很长的url的作用是什么呢?

首先,介绍一下 xmlns 的作用,如下所示,一个 xml 文档中如果包含如下两种定义不同, 但是名称相同的元素, xml 解析器是无法解析的, 因为它不能确定当你调用documentgetElementsByTagName("book") 时应该返回哪个元素。

这时候可以通过在名称增加前缀解决这个问题

由此,引入一个概念 命名空间 ,通过增加前缀表示不同的那是不同命名空间下的table,从而解决了矛盾,但是不同的人都有自己创建的不同的命名空间来描述同样的东西,不利于xml文件信息的解析,比如说,同样都是水果,可以从颜色和香味不同角度来定义成如下两种形式:

为此,w3c(万维网联盟)对于一些类型,定义了对应的命名空间和这些类型的标准,xml解释器碰到这些类型的时候就会通过这些标准去解析这类型的标签,为了确保命名空间的唯一,所以不同的命名空间的通常使用URL作为被识别的id,如下例子:

这句话的作用是当前引入了一个叫做xsi的命名空间,xsi可以在接下来要使用该命名空间时所使用的,如下:

而 >

一 什么是Spring

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

二 如何在程序中获取Spring配置的bean呢

方法一 在初始化时保存ApplicationContext对象

代码

ApplicationContext ac = new FileSystemXmlApplicationContex( applicationContext xml );     ac getBean( beanId );

ApplicationContext ac = new FileSystemXmlApplicationContex( applicationContext xml );

ac getBean( beanId );说明 这种方式适用于采用Spring框架的独立应用程序 需要程序通过配置文件手工初始化Spring的情况

方法二 通过Spring提供的工具类获取ApplicationContext对象

代码

import sprntext support WebApplicationContextUtils;      ApplicationContext ac = WebApplicationContextUtils                                 getRequiredWebApplicationContext(ServletContext sc)      ApplicationContext ac = WebApplicationContextUtils                                 getWebApplicationContext(ServletContext sc)      ac getBean( beanId );      ac getBean( beanId );   import sprntext support WebApplicationContextUtils;      ApplicationContext ac = WebApplicationContextUtils                                 getRequiredWebApplicationContext(ServletContext sc)      ApplicationContext ac = WebApplicationContextUtils                                 getWebApplicationContext(ServletContext sc)      ac getBean( beanId );      ac getBean( beanId );

方法三 继承自抽象类ApplicationObjectSupport

说明 抽象类ApplicationObjectSupport提供getApplicationContext()方法 可以方便的获取到ApplicationContext Spring初始化时 会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入

方法四 继承自抽象类WebApplicationObjectSupport

说明 类似方法三 调用getWebApplicationContext()获取WebApplicationContext

方法五 实现接口ApplicationContextAware

lishixinzhi/Article/program/Java/ky/201311/28587

有时候,要通过自定义XML配置文件来实现一些特定的功能。这里通过例子来说明。

首先,看部分spring加载bean文件的源码:

spring-beans-506RELEASEjar!/org/springframework/beans/factory/xml/PluggableSchemaResolverclass :

spring-beans-506RELEASEjar!/org/springframework/beans/factory/xml/DefaultNamespaceHandlerResolverclass :

可以看出,spring在加载xml文件的时候,会默认读取配置文件 META-INF/springschemas 和 META-INF/springhandlers 。这样,我们就可以在这两个文件添加我们自定义的xml文件格式和xml文件解析处理器。

新建一个Springboot工程,pom如下。

SelfDefineXmlTrial/pomxml :

然后,新建一个用于测试controller。

comlfqyspringbootselfdefxmlcontrollerSelfDefXmlController :

最后,创建一个Springboot的启动类。

comlfqyspringbootselfdefxmlSelfDefXmlApplication :

运行启动之后,浏览器访问 >

以上就是关于spring的xml配置文件的xml文件头详解全部的内容,包括:spring的xml配置文件的xml文件头详解、Spring Boot xml里获取yml文件里的参数值、Java中如何获取Spring中配置的bean等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10100752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存