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 ...
随机推荐
- docker-machine on azure
1.准备Azure的虚拟机,安装docker-machine 由于azure虚拟机的管理员账号不是root,所以这里我们使用自己创建的管理员yy 1.base=https://github.com/d ...
- Apache Shiro对象概念
#,Authentication,认证,也就是验证用户的身份,就是确定你是不是你,比如通过用户名.密码的方式验证,或者某些第三方认证,比如微信认证. #,Authorization,授权,也叫访问控制 ...
- [matlab] 20.图与网络 matlab自带函数使用
matlab自带的biography(产生一个句柄) 可以用于画图 R=[1 1 2 4 1 2 3 3 5 7 3 4 5 6 7 8]; % 起始节点编号 C=[2 3 3 3 4 5 5 6 6 ...
- Node.js使用TCP通讯
原文地址:https://www.cnblogs.com/ay-a/p/9822057.html Node.js 的 net 模块可以方便的创建TCP 服务,,以下是使用 net 模块创建的tcp 服 ...
- NodeJS的优缺点
我们知道NodeJS是2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,解 ...
- 使用BBED跳过归档进行恢复
https: 使用BBED跳过归档进行恢复 数据库启动异常,提示6号文件丢失 SQL> startup ORACLE instance started. Total System Global ...
- Vim 中使用 vimim 来输入中文
Vim 中输入中文,要来回切换中英文,偶尔不慎的切换和按键,可能导致误删不能恢复的错误,一直是个很头疼的问题.现在有了 vimim 这个插件,整个世界清净了. 插件官方网站:http://www.vi ...
- jenkins发送生成的html报告作为邮件附件,但无内容的问题分析
- Asp.net MVC 利用(aspose+pdfobject.js) 实现在线预览word、excel、ppt、pdf文件
在线预览word.excel.ppt利用aspose动态生成html 主要代码 private bool OfficeDocumentToHtml(string sourceDoc, string s ...
- 使用keras的LSTM进行预测----实战练习
代码 import numpy as np from keras.models import Sequential from keras.layers import Dense from keras. ...