Spring 基于XML配置
基于XML的配置
对于基于XML的配置,Spring 1.0的配置文件采用DTD格式,Spring2.0以后采用Schema格式,后者让不同类型的配罝拥有了自己的命名空间,使得配置文件更具扩展性。此外,Spring基于Schema 配置方案为许多领域的问题提供了简化的配置方法,配置工作因此得到了大幅简化。
采取基于 Schema的配置格式,文件头的声明会复杂一些,先看一个简单的示例,如下

要了解文件头所声明的内容,需要学习一些 XML Schema 的知识。 Schema 在文档根节点中通过 xmlns 对文档所引用的命名空间进行声明。在上面的代码中定义了3个命名空间。
① 默认命名空间:它没有空间名,用于 Spring Bean 的定义。
② xsi 标准命名空间:这个命名空间用于为每个文档中的命名空间指定相应的Schema 样式文件,是W3C定义的标准命名空间。
③ aop 命名空间:这个命名空间是 Spring 配置 AOP 的命名空间,即一种自定义的命名空间。
命名空间的定义分为两个步骤:第一步指定命名空间的名称:第二步指定命名空间的 Schema 文档格式文件的位罝,用空格或回车换行进行分隔
在第一步中,需要指定命名空间的缩略名和全名,请看下面配置所定义的命名空间:
xmlns:aop="http://www.springframework.org/schema/aop"
aop 为命名空间的別名,一般使用简洁易记的名称,文档后面的元素可通过命名空间别名加以区分,如<aop:config/>等。而http://www.springframework.org/schema/aop为空间的全限定名,习惯上用文档发布机构官方网站和相关网站目录作为全限定名,这种命名方式既可以标识文档所属的机构,又可以很好地避免重名的问题。但从XML Schema 语法来说,别名和全限定名都可以任意命名。
如果命名空间的别名为空,则表示该命名空间为文档默认命名空间。文档中无命名空间前缀的元素都属于默认命名空间,如< beans/>、<bean/>等都域于在①处定义的默认命名空间。
在第二步中,为每个命名空间指定了对应的 Schema 文档格式的定义文件,定义的语法如下:
<命名空间1>空格<命名空间1 Schema 文件>空格<命名空间2>空格<命名空间2 Schema 文件>
命名空间使用全限定名,每个组织机构在发布 Schema 文件后,都会为该 Schema文件提供一个引用的 URL 地址,一般使用这个URL 地址指定命名空间对应的 Schema文件。命名空间名称和对应的 Schema 文件地址之间使用空格或回车分隔,不同的命名空间之间也使用这种分隔方法。
指定命名空间的 Schema 文件地址有两个用途:其一, XML 解析器可以获取 Schema文件并对文档进行格式合法性验证;其二,在开发环境下, IDE 可以引用 Schema 文件对文档编辑提供诱导功能(自动补全功能)。当然,这个 Schema 文件的远程地址并非一定能够访问,一般的 IDE 都提供了从本地类路径查找 Schema 文件的功能,只有找不到时才从远程加载。
Spring 4.0 配置的 Schema 文件放置在各模块 JAR 文件内一个名为 config 的目录下。


Spring 基于XML配置的更多相关文章
- Spring 基于xml配置方式的事务
参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...
- Spring 基于xml配置方式的事务(14)
参考前面的声明式事务的例子:http://www.cnblogs.com/caoyc/p/5632198.html 我们做了相应的修改.在dao中和service中的各个类中,去掉所有注解标签.然后为 ...
- Spring 基于xml配置方式的AOP
我们具体用代码来说明: 1.ArithmeticCalculator.java package com.proc; public interface ArithmeticCalculator { in ...
- Spring 基于xml配置方式的AOP(8)
1.ArithmeticCalculator.java 1 package com.proc; 2 3 public interface ArithmeticCalculator { 4 int ad ...
- Spring基于XML配置AOP
目录结构: D:\Java\IdeaProjects\JavaProj\SpringHelloWorld\src\cn\edu\bjut\service\StudentService.java pac ...
- 一步一步深入spring(6)--使用基于XML配置的spring实现的AOP
上节我们提到了使用基于注解实现的AOP,这节我们将用基于xml配置的方式来实现的AOP. 1.首先建立一个类,作为切面类,这个类主要用来实现注解中各种通知要实现的方法. package com.yan ...
- Spring学习之旅(七)基于XML配置与基于AspectJ注解配置的AOP编程比较
本篇博文用一个稍复杂点的案例来对比一下基于XML配置与基于AspectJ注解配置的AOP编程的不同. 相关引入包等Spring AOP编程准备,请参考小编的其他博文,这里不再赘述. 案例要求: 写一 ...
- Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...
- Spring Boot 框架下使用MyBatis访问数据库之基于XML配置的方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
随机推荐
- linux下安装jdk_mysql_tomcat_redis
目前搬我以前的笔记,每个人做笔记方式都不一样,看别人的风格,生成自己的风格 1.linux安装软件和redis学习 jdk --- java开发运行环境 Tomcat - WEB程序的服务器 Mysq ...
- php实现斐波那契数列
斐波那契数列: 1 1 2 3 5 8 13 21 34 55 … 概念: 前两个值都为1,该数列从第三位开始,每一位都是当前位前两位的和 规律公式为: Fn = F(n-1) + F(n+1) F: ...
- Arduino和ESP8266引脚图
Arduino的引脚图 https://www.geek-workshop.com/thread-11826-1-1.html ESP8266 https://item.taobao.com/item ...
- nginx之十三:搭建 nginx 反向代理用做内网域名转发
user www www;worker_processes 1;error_log logs/error.log;pid logs/nginx.pid;worker_rlimit_nofile 6 ...
- ModelViewSet 路由 / django logging配置 / django-debug-toolbar使用
一.ModelViewSet 路由 因为我们正在使用ViewSet代替View,实际上已经不再需要自己来设计URL的配置了.将资源和视图.URL绑定到一起是一个可以自动完成的过程,只需要使用Route ...
- face recognition[MobileFaceNet]
本文来自<MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices> ...
- php 数组元素快速去重
1.使用array_unique方法进行去重 对数组元素进行去重,我们一般会使用array_unique方法,使用这个方法可以把数组中的元素去重. <?php $arr = array(,,,, ...
- 【转】AlphaGO Zero 原理
原文地址:https://www.hhyz.me/2018/08/08/2018-08-08-AlphaGO-Zero/> 1. 概述 简单来说,AlphaGo Zero 的训练可以分为三个 ...
- 使用docker Registry快速搭建私有镜像仓库
当我们执行docker pull xxx的时候,docker默认是从registry.docker.com这个地址上去查找我们所需要的镜像文件,然后执行下载操作.这类的镜像仓库就是docker默认的公 ...
- 面试 5:手写 Java 的 pow() 实现
我们在处理一道编程面试题的时候,通常除了注意代码规范以外,千万要记得自己心中模拟一个单元测试.主要通过三方面来处理. 功能性测试 边界值测试 负面性测试 不管如何,一定要保证自己代码考虑的全面,而不要 ...