Spring的beans标签下可以有其他标签
以前有对xsd(也就是schema文件)小做研究,有个小困惑,就是我们定义的元素只能使用定义的哪一些标签,比如<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的引用不需要加版本号,不加版本号使用的xsd文件就是最新的,他是从classpath中获取的。spring读取校验xsd是先从本地classpath读取,失败才从网络上读取。
Spring的beans标签下可以有其他标签相关推荐
- spring源码深度解析— IOC 之 默认标签解析(下)
默认标签中的自定义标签解析 注册解析的BeanDefinition 通过beanName注册BeanDefinition 通过别名注册BeanDefinition alias标签的解析 import标 ...
- 标签系列一:spring 中beans解释以及beans标签里面的属性
一.beans解释: 英文解释:The top level (typically root) element. Allows the definition of default values for ...
- 【Spring源码】4. 自己搞个标签?~自定义标签保姆级全过程(图解向,堆图预警)
[Spring源码系列- IOC] 1 [Spring源码]0.安装Gradle环境 2 [Spring源码]1.下载与编译_pom relocation to an other version nu ...
- Spring精华问答 | 什么是Spring inner beans?
Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们来看看关于Spring的精华问答吧. 1 Q:请解释Spring Be ...
- Spring框架基础(2)----Bean的创建及标签属性
一.实例化Bean的三种方式 ⽅式⼀:使用无参构造函数 在默认情况下,它会通过反射调⽤⽆参构造函数来创建对象.如果类中没有无参构造函数,将创建失败. <bean id="userSer ...
- 02HTML标签(下)
1.表格标签 表格是实际开发中非常常用的标签: 表格的主要作用 表格的基本语法 1.1 表格的主要作用 表格的主要作用用于显示.展示数据的.因为它可以让数据显示的非常规整,可读性非常好.特别是后台显示 ...
- 火狐浏览器下点击a标签时出现虚线的解决方案
火狐浏览器下点击a标签时出现虚线的解决方案 参考文章: (1)火狐浏览器下点击a标签时出现虚线的解决方案 (2)https://www.cnblogs.com/lhyhappy365/p/595646 ...
- spring mvc项目中利用freemarker生成自定义标签
2019独角兽企业重金招聘Python工程师标准>>> spring mvc项目中利用freemarker生成自定义标签 博客分类: java spring mvc +freemar ...
- 随手记一次用C#正则表达式获取下拉菜单html标签select以及相关属性值
随手记一次用C#正则表达式获取下拉菜单html标签<select>以及相关属性值 1:有如下html: .................. <select id="aaa ...
最新文章
- 【深度学习】利用一些API进行图像数据增广
- Spring官网改版后下载方式
- Css 特殊或不常用属性
- Istio流量管理实践之(5): 使用cert-manager部署Istio自定义入口网关及进行证书管理...
- micropython lcd触摸屏显示中文_基于Micropython的天气显示 进程帖
- pyside2 镜像安装_pyside2 镜像安装_【PySide2学习笔记】0_下载安装
- javascript-字典形态对象与数组形态对象
- SimpleDateFormat线程不安全及解决方案
- mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
- Mobileye/博世/大陆智驾份额「持续下滑」,本土供应商「起势」
- Gdiplus.dll下载+丢失修复
- 【无标题】全国矢量地图下载
- java去除对象属性空格_JAVA 对象中去除空格
- 电信中兴f452光猫路由改桥接最简单的方式,亲自体验成功。
- ipa在线安装搭建_iphone直接安装ipa文件怎么做?
- 参观微软亚洲研究院有感
- lol服务器显示40ms,一个简单insert 语句执行 40ms 原因剖析
- ios android的中文翻译,苹果 iOS 14 Beta反向翻译,拒不承认iOS不如安卓
- 菜鸟到大神的上位历程,即学即用走向人生巅峰
- 隔行扫描, 逐行扫描