Spring xml配置文件头解析

2023-05-16

Spring文档中默认的XML文件格式:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

</beans>

添加注解后的格式:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	         http://www.springframework.org/schema/beans/spring-beans.xsd
		 http://www.springframework.org/schema/context 
		 http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	
</beans>
一、要搞明白这些文件格式的意义,首先得明白XML的命名空间的作用:

(参考自:http://blog.csdn.net/zhch152/article/details/8191377)


问题的出现:
    XML的元素名字是不固定的,当两个不同的文档使用同样的名称描述两个不同类型的元素的时候,或者一个同样的标记表示两个不同含义的内容的时候,就会发生命名冲突。
问题的解决:
    命名空间(Namespace),对于每一套特定应用的DTD,给它一个独一无二的标志来代表,如果在XML中使用DTD中定义的元素,需将DTD的标志和元素名,属性连在一起使用,
相当于指明了元素来自什么地方,这样就不会同其他同名元素混淆了(有点类似Java中包的作用,给它取个全名)。在XML中,采用现成的,在全球范围唯一的“域名”作为Namespace,
即URL作为XML的Namespace。命名空间允许我们在一个文档中结合不同的元素和属性定义,并指明这些元素和属性的定义来自那里。

命名空间的语法如下:
   xmlns:[prefix]=”[url of name]”
其中“xmlns:”是必须的属性。“prefix”是命名空间的别名,它的值不能为xml。
例如:

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


二、解释一下Spring配置文件头

1、xmlns="http://www.springframework.org/schema/beans"
   声明xml文件默认的命名空间,表示未使用其他命名空间的所有标签的默认命名空间。


2、xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   声明XMLSchema 实例名称空间,并将xsi前缀与该名称空间绑定,这样模式处理器就可以识别xsi:schemaLocation属性。
   XML Schema实例名称空间的前缀通常使用xsi。


3、使用xsi:schemaLocation属性指定名称空间http://www.springframework.org/schema/beans
   和模式位置http://www.springframework.org/schema/beans/spring-beans-3.0.xsd相关。


4、添加注解后多的xmlns:context="http://www.springframework.org/schema/context"是添加了context的命名空间,关于Spring上下文的,包括加载资源文件!

(参考http://iswift.iteye.com/blog/1657537 以及http://blog.csdn.net/zhch152/article/details/8191377)


三、该配置文件需要联网吗?
        spring的命名空间引用的虽然是网上的xsd文件,但你如果在断网情况下,照样是可以正常运行spring的。说明它在真正处理的时候应该就是用的本地资源。
       用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring xml配置文件头解析 的相关文章

随机推荐

  • winsock connect socket连接,报10061错误

    问题现象 xff1a 上位机去创建socket连接 xff0c 报10061错误 问题分析 xff1a 10061是server 拒绝了client的request xff0c 主要原因是a misconfigured server xff
  • 【踩坑专栏】lombok报错程序包org.slf4j不存在

    问题描述 xff1a 在Pom中引入了依赖 xff0c idea中也有lombok的插件 xff0c 之前使用lombok的 64 Slf4j注解没有问题 xff0c 最近在某一个项目中 xff0c 在编译时突然报错程序包org slf4j
  • Ubuntu1804_server 离线安装GCC_7.5

    本文利用一个比较简单方便的方法为Ubuntu1804 server的服务器离线安装GCC 7 5 之前写过一篇关于离线安装软件的文章 xff0c 有兴趣的同学请移步Ubuntu18 04 离线安装nginx 可是如果生产服务器有大量需要离线
  • 关于Java之IO流音乐拼接小项目

    需求 xff1a 做一个音乐串烧 分析 xff1a 1 有n个音乐 xff0c 找到高潮部分 xff0c 2 获取高潮部分的流对象 3 把这部分对象保存成一个mp3 4 把它们拼接起来 以下为源码供大家分享 xff1a 方法一 xff1a
  • 192.168.和10.0.开头的IP、内网IP段、IP简介、分类

    IP地址分为五大类 xff1a A类 B类 C类 D类和E类 xff0c 如下图所示 xff1a 在这五类IP地址中 xff0c 我们最常使用的是A类 B类和C类地址 在这三类地址中 xff0c 绝大多数的IP地址都是公有地址 xff0c
  • 牛客网. 跳跃游戏-II

    题目概述 解题思路 我开始想到的做法是贪心 首先维护两个指针i和cur xff0c i用于顺序遍历 xff0c cur用来指向上一次可以跳到的最远的位置 维护一个一维数组 xff0c 用来记录跳到每个位置需要的最短步数 然后考虑当前能跳到的
  • OpenEuler 20.03 LTS yum 安装redis后systemctl启动异常

    前言 通过命令yum install redis xff0c 安装redis后 xff0c 通过systemctl启动报如下错误 xff1a span class token punctuation span root 64 ecs e50
  • python ahttp:简单、高效、异步requests请求模块

    ahttp xff1a 简单 高效 异步requests请求模块 ahttp 是一个所有的http连接请求均使用协程的方式 使请求过程中 IO 操作交给其他硬件 xff0c 而CPU专注于处理计算型任务 xff0c 可以大量的节约等待的时间
  • uniapp 页面跳转出现闪屏、短暂白屏的解决办法

    在项目pages json里设置页面的背景色和页面中page或container的背景色一致即可解决这个问题 34 path 34 34 pages ecosystem index 34 34 style 34 34 navigationB
  • softmock-基于mitmproxy实现系统性管理maplocal

    softmock 介绍 softmock 是一个拦截 http https 到本地的工具 请求拦截到本地之后 xff0c 可以进行修改 新增等操作 xff0c 使下次请求直接返回到本地的数据 而不依赖远程服务器 softmock 是从 抓包
  • django设置samesite

    较新版本的chrome会因samesite策略而禁止跨域的cookie 解决方法在项目中的setting py设置 xff1a SESSION COOKIE SAMESITE span class token operator 61 spa
  • 使用python构造一个微信聊天机器人

    申请一个图灵的APIKEY http www tuling123 com python3环境下安装wxpy pip install wxpy linux下还需安装pillow pip install pillow 然后执行以下代码 xff1
  • aiohttp 简易使用教程

    0 前言 本文翻译自aiohttp的官方文档 xff0c 如有纰漏 xff0c 欢迎指出 aiohttp分为服务器端和客户端 xff0c 本文只介绍客户端 由于上下文的缘故 xff0c 请求代码必须在一个异步的函数中进行 xff1a asy
  • Zabbix 5.4 Server安装

    系统 xff1a ubuntu 1804 xff08 1804 server zabbix 5 4 mysql 5 7 x1f4d3 UTF 8是Zabbix支持的唯一编码 它可以正常工作而没有任何安全漏洞 用户应注意 xff0c 如果使用
  • vue基本格式

    MVVM模式 vue的基本步骤 数据绑定 v model name 数据渲染 xff0c 双向绑定
  • Activity中使用onNewIntent方法避免多次实例化同一个Activity

    最近写的项目中有一个搜索 搜索结果 搜索这样一个循环的过程 xff0c 发现了几个问题 xff1a 1 循环导致多次实例化这两个类 xff1b 解决方案 xff1a 在Manifest里面对应activity下面设置启动模式为singleT
  • Linux 无密码自动登录

    GNOME环境 etc gdm3 custom conf文件 xff0c 修改其中的AutomaticLoginEnable xff0c AutomaticLogin项 xff0c 具体如下所示 xff1a Configure Automa
  • FileItem类

    文件上传时需要用到FileItem类 xff0c FileItem是一个接口 xff0c 它的实现类是DiskFileItem 如图为FileItem 接口中定义的方法 xff1a 1 getInputStream xff1a 以流的形式返
  • mysql数据表中文乱码解决办法

    在往 mysql 数据库中插入数据的时候出现数据 汉字 乱码情况 xff1a 在把数据库 xff0c 数据表的编码改为UTF 8后 xff0c 还是乱码 Mysql 的默认编码方式是 Latin1 xff0c 不支持中文 xff0c 因此
  • Spring xml配置文件头解析

    Spring文档中默认的XML文件格式 xff1a lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt lt beans xmlns 61 34 http www springfra