命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。
命名空间的作用:是建立一些互相分隔的作用域,把一些全局实体分隔开来。
命名空间的作用类似于操作系统中的目录和文件的关系,由于文件很多,不便管理,而且容易重名,于是人们设立若干子目录,
把文件分别放到不同的子目录中,不同子目录中的文件可以同名。调用文件时应指出文件路径
与【使用前缀来避免命名冲突】类似,可以使用【命名空间】作为xml文件的前缀,去解决命名冲突的问题;有了命名空间后,在引用某个xml标签的时候,附带上命名空间,就能有效避免可能存在的命名冲突的问题;。
似乎可以这样理解(csnd某博主):
在Spring这个体系中,开发Spring框架的人员弄了很多xml文件;以这些xml文件作为抓手,可以调用和实现很多Spring中定义的功能;我们要想使用Spring的某个A功能,就需要在applicationContext.xml(这个需要我们编写的xml配置文件)中,引入Spring中的(与A功能相关的)对应的那个xml文件(比如A功能对应的xml文件是a.xml),这样以后,在applicationContext.xml中,我们才能使用a.xml中定义的标签进行相应的配置,进而我们就能实现A功能了。
(PS:这种理解可能存在严重偏差,如有变化,随时更改。)
Xml解释:
1.1schema文档即xml schema document,schema文件的格式是.xsd(xml schema document的缩写xsd)。
简单来说:schema就是对xml的进一步约束。一旦确定了web.xml schema的引用,就表示要参考该引用所在位置的schema定义和约束的规则,这些规则指定了该xml里:
- 只能出现约束里指定的元素和指定的属性
2)某些元素的顺序的也就不可改变的
3)谁有子元素,有多少个,顺序是怎样的
4)元素和属性的类型,元素是否为空,是否包含文本,数据类型是什么,有没有固定值,有没有默认值等。
<!--默认为false,是java本身的代理方式。设为true 表示强制使用cglib代理 -->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<!-- 启动注解 -->
<context:component-scan base-package="com.xxx"/>
<!-- Spring注解配置定时任务 -->
<task:annotation-driven/>
<!-- Spring自动注入properties文件 -->
<util:properties id="configProp" location="classpath:server.properties" ignore-resource-not-found="true"/>
很简单,但是在spring项目中基本很实用,还有比如mvc的引入等
xmlns:mvc=”http://www.springframework.org/schema/mvc”
xsi:schemaLocation=”http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd”
拓展:
硬件配置文件的作用:
- 仅加载硬件配置文件中的设备驱动程序
- 快速切换不同的工作环境
- 提高启动速度
- 回复缺省配置
- 清空系统中多余的硬件信息