Spring的beans标签下可以有其他标签

  以前有对xsd小做研究,有个小困惑,就是我们定义的元素只能使用定义的哪一些标签,比如<beans>下面就只能有自定义的哪一些,那为什么在引入<context>、<aop>等命名空间之后就能使用上诉2个标签呢?之前一直嫌弃spring的xsd太长,第一眼看上去比较混乱,今天鼓起勇气看了一下<beans>的xsd文件,看了之后发现其实还是非常简单的,所使用的无外乎也就是xsd那些东西。

  那么,<beans>标签下对元素的定义中有一段是这样子的:

<xsd:sequence>
  <xsd:element ref="description" minOccurs="0" />
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
  <xsd:element ref="import" />
  <xsd:element ref="alias" />
  <xsd:element ref="bean" />
  <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded" />
  </xsd:choice>
  </xsd:sequence>

  倒数第三行:表示<beans>下面可以包含任意标签,来自其他命名空间的。这就解释了上面的问题。

  另外:xmlns:p="http://www.springframework.org/schema/p"这个命名空间能够让<bean>的属性<property>标签使用简写,如:

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="com.mook.mybatis.core.mapper" />
    </bean>

  就可以写成:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="com.mook.mybatis.core.mapper"/>

  这种方式,但是一般来说没什么必要,少不了几行,另外简写方式不够灵活。一般来说,知道有这么回事就够了,使用前面的方式就行。

  再者:spring的命名空间对xsd的引用不需要加版本号,不加版本号一般来说就是最新的。spring读取校验xsd是先从本地classpath读取,失败才从网络上读取。

时间: 2024-10-03 01:40:19

Spring的beans标签下可以有其他标签的相关文章

Spring 源码分析(四)--自定义标签的使用

在之前的代码分析中,Spring标签的解析分为 默认标签和自定义标签两种,前一篇文章分析了Spring中对默认标签的解析过程. 本文将分析Spring中自定义标签的使用过程: 一:回顾 public class DefaultBeanDefinitionDocumentReader implements BeanDefinitionDocumentReader { /** * Parse the elements at the root level in the document: * "imp

【Android开发经验】&lt;Activity&gt;标签下常见属性介绍

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 下面是Activity标签下所有的属性值,简单了解下这些属性的意思. 还有一些属性没有介绍,因为资料找的好累啊,以后不做这样的工作了,这些属性虽然费了好大劲,但是感觉收获很少,毕竟用的就很少,大家扫一眼就够了,别太费劲去研究这些平常用不到的属性,不利于学习!

bootstrap-带下拉菜单的标签页

说明 带下拉菜单的标签页 示例 <!DOCTYPE html> <html lang="zh-CN">    <head>      <meta charset="utf-8">      <meta http-equiv="X-UA-Compatible" content="IE=edge">      <meta name="viewport&qu

img标签下多余空白BUG解决方法

在进行页面的DIV CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的 对于该问题的解决方法也是“见机行事”. 1.将图片转换为块级对象 即,设置img为“display:block;”.在本例中添加一组CSS代码:“#sub img {display:block;}”. 2.设置图片的垂直对齐方式 即设置图片的vertical-align属性为“top,text-top,bottom,text-bottom”也可以解决.如本例中

Bootstrap历练实例:带有下拉菜单的标签和胶囊导航

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Bootstrap历练实例:带有下拉菜单的标签和胶囊导航</title> <meta charset="utf-8" /> <meta name=&quo

html基础标签下

1.1 单标签 ◆注释标签   ctrl+/ ◆水平线标签   <hr> ◆换行标签   <br> 1.2 双标签 ◆段落标签    <p></p> ◆h1-h6  值只能取到6   h1在页面中只能出现一次. ◆文本标签  <font></font> ◆图片标签 <img src="图片的来源"  alt="替换文本" title="提示文本"   width=&qu

安卓下点击a标签不跳转;点击a标签在手机真机上会调出手机键盘的解决办法

安卓下点击a标签不跳转的解决办法,是不用href做跳转的链接,改为用JS控制跳转 1 <a href="javascript:;" ontouchstart="window.location.href='https://www.baidu.com/'"><img src="xxx"></a> 这样写虽然解决了安卓下点击a标签不跳转的问题,但还是没有解决点击a标签,在手机真机上会调出手机键盘的行为 不过将a标签换

Ubuntu下的终端多标签切换快捷键

ubuntu下由于常在终端下工作,也同样需要在一个终端窗口下开启多个标签方便日常开发工作(vim党,尽量避免使用鼠标) 方法一: alt+1 alt+2 alt+3 方法二: ctrl + pageUp ctrl + pageDown 方法三: Edit--> Keybord Shortcuts 到这里去自己设置快捷键. 我个人是把它设置成mac系统的风格. alt + shift + t ---> 新标签 alt + shift + [ ---> 上一个标签 alt + shift +

js实现标签下划线平移

一.使用js实现导航行栏,点击时,下划线会跟着鼠标的点击移动. html代码如下: <header>    <div id="nav1">     <div id="id1" class="item">1</div>     <div id="id2" class="item">2</div>     <div id="