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 ...
随机推荐
- Celery 异步任务
Celery https://www.cnblogs.com/DragonFire/p/10356615.html 介绍: Celery 是芹菜 Celery 是基于Python实现的模块, 用于执行 ...
- Netty中ByteBuf 的零拷贝
转载:https://www.jianshu.com/p/1d1fa2fe1ed9 此文章已同步发布在我的 segmentfault 专栏. 根据 Wiki 对 Zero-copy 的定义: &quo ...
- 解决Zabbix网页端Get value error: cannot connect to [[192.168.238.139]:10050]: [113] No route to host问题
在安装配置完zabbix_agentd以后,网页端出现 Get value error: cannot connect to [[192.168.238.139]:10050]: [113] No ...
- P1217 [USACO1.5]回文质数 Prime Palindromes(技巧+暴力枚举+线性筛)
技巧:就是偶数位的回文数字一定不是质数---------证明:奇数位之和sum1==偶数位之和sum2的数字可以被11整除.(11除外,这是一个坑点) 最高位,最低位必须是 1, 3, 7, 9 暴力 ...
- Python:Day41 http、css
HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. 2.请求协议 请求协议的格式如下: 请求首行: // ...
- 001学习Python的ABC模块(转)
http://yansu.org/2013/06/09/learn-Python-abc-module.html 1.abc模块作用 Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助a ...
- sqlachemy 查询当日数据,
Tokens.query.filter(Tokens.user_id == user_id, db.cast(Tokens.create_time, db.DATE) == db.cast(curre ...
- pytorch visdom可视化工具学习—1—详细使用-3-Generic Plots和Others
4)Generic Plots 注意,服务器API遵循数据和布局对象的规则,这样您就可以生成自己的任意Plotly可视化: # Arbitrary visdom content trace = dic ...
- ORA-08104
https://blog.csdn.net/daiqiulong2 create index idx_p_merchant_detail_id on D_ORDER_DETAIL (merchant_ ...
- CF650C Table Compression
CF650C Table Compression 给一个 \(n\times m\) 的非负整数矩阵 \(a\),让你求一个 \(n\times m\) 的非负整数矩阵 \(b\),满足以下条件 若 ...