Spring笔记——8.基于XML Schema的简化配置
我们可以使用XML Schema的配置方式来简化xml文件的配置。
p:简化设值注入
p:与property子元素作用相同,用于设值注入。若想使用p,则xml文件中需要引入对p的说明,一般自动生成的xml都会自带。xmlns:p="http://www.springframework.org/schema/p"
<bean id="chinese" class="com.cm.Aperson" p:age="29" p:axe-ref="stoneAxe" />
这种情况下p是bean的一个属性而非元素,axe后边加ref表明axe不是一个基本类型而是一个实例变量。
c:简化构造注入
c:能够简化构造注入,相当于constructor-arg子元素。需导入 xmlns:c="http://www.springframework.org/schema/c"
<bean id="chinese" class="com.cm.Aperson" c:age="29" c:axe-ref="stoneAxe" />
上面代码仅仅把p改成了c,表明age,axe都是构造函数的两个参数,框架会去自动找符合这两个参数的构造器。也可以使用下面的形式指明到底是第几个参数。
<bean id="chinese" class="com.cm.Aperson" c:_0="29" p:_1-ref="stoneAxe" />
在这种方式中,用_0代替了属性的名字(也是构造器中形参名字)。当传入实例变量时,也要加-ref。
util:命名空间
需要导入xmlns:util="http://www.springframework.org/schema/util"。 此命名空间提供了constant,property-path,list,set,map,properties元素,能够简化大多数xml配置。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.0.xsdhttp://www.springframework.org/schema/beans/spring-beans-3.1.xsd"><bean id="chinese" class="com.cm.Chinese" p:age-ref="chin.age"p:axe-ref="stoneAxe" p:schools-ref="chin.schools" /><util:constant id="chin.age"static-field="java.sql.Connection.TRANSACTION_SERILIZABLE" /><util:properties id="confTest" location="classpath:text_zh_CN.properties" /><util:list id="chin.schools" list-class="java.util.LinkedList"><value>小学</value><value>初中</value><value>高中</value></util:list><util:set id="chin.axes" set-class="java.util.HashSet"><value>字符串</value><bean class="com.cm.SteelAxe" /><ref bean="stoneAxe" /></util:set><util:map id="chin.scores" map-class="java.util.TreeMap"><entry key="Math" value="99" /><entry key="English" value="94" /><entry key="Chinese" value="90" /><entry key="Art" value="29" /></util:map> </beans>
除此之外,Srping还有一些其他常用的Schema配置,比如aop,jee,jms,long和tx等。
转载于:https://blog.51cto.com/mengcao/1690643
Spring笔记——8.基于XML Schema的简化配置相关推荐
- Spring Cache抽象-基于XML的配置声明(基于EhCache的配置)
概述 完整示例 pomxml增加依赖 数据库表数据Oracle 实体类 服务层 ehcache的配置文件 Spring-EhCache配置文件 单元测试 日志输出 日志分析 示例源码 概述 首先请阅读 ...
- Spring笔记(基于狂神视频+自己理解)
1.Spring 狂神源码 1.1.简介 Spring:春天-> 给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3 ...
- Spring Cache抽象-基于XML的配置声明(基于ConcurrentMap的配置)
概述 示例 项目结构 数据库表数据Oracle 实体类 服务层 Spring配置文件 单元测试 日志输出 日志分析 示例源码 概述 Spring Cache基于注解的配置 如果不想使用注解或者由于其他 ...
- 一步一步深入spring(6)--使用基于XML配置的spring实现的AOP
上节我们提到了使用基于注解实现的AOP,这节我们将用基于xml配置的方式来实现的AOP. 1.首先建立一个类,作为切面类,这个类主要用来实现注解中各种通知要实现的方法. 1 package com.y ...
- Spring MVC之基于xml配置的web应用构建
2019独角兽企业重金招聘Python工程师标准>>> 更多spring博文参考: http://spring.hhui.top/ 直接用SpringBoot构建web应用可以说非常 ...
- 20.Spring学习笔记_基于配置文件的方式来配置 AOP(by尚硅谷_佟刚)
基于 XML 的配置声明切面 除了使用 AspectJ 注解声明切面, Spring 也支持在 Bean 配置文件中声明切面. 这种声明是通过 aop schema 中的 XML 元素完成的. 正常情 ...
- Spring框架——基于xml文件的相关配置
文章目录 1.IOC创建对象 2.Bean的作用域 3.Bean的继承 4.读取外部资源(导入资源文件) 1.IOC创建对象 通过 < bean id="" class=&q ...
- Spring学习笔记之一----基于XML的Spring IOC配置
1. 在spring配置文件中,如果对一个property进行直接赋值,可使用<value>元素,spring负责将值转化为property指定的类型:也可以直接在property元素上使 ...
- 跟着小马哥学系列之 Spring AOP(基于 XML 定义 Advice 源码解析)
学好路更宽,钱多少加班. --小马哥 简介 大家好,我是小马哥成千上万粉丝中的一员!2019年8月有幸在叩丁狼教育举办的猿圈活动中知道有这么一位大咖,从此结下了不解之缘!此系列在多次学习极客时间< ...
最新文章
- “三电一兽”竞争格局将打破,网络营销外包下搜电开启高效运营
- CentOS 安装Nginx
- BZOJ4300 绝世好题(动态规划)
- 旅行场景下的个性化营销平台揭秘
- CRM Fiori Opportunity应用点了edit之后超时的问题分析
- 32和64位jvm_我应该使用32位还是64位JVM?
- JavaScript每日学习日记(1)
- linux 源码安装 Nginx
- Vc数据库编程基础1
- python朴素贝叶斯分类的手写数字识别_关于利用机器学习进行手写数字的的识别...
- 在线课程培训系统源码 在线授课 在线教育源码 网课小程序源码
- PCB Layout的设计要点
- 第十三届“认证杯”数学中国数学建模比赛赛后体会
- 一个完整机器学习项目的基本流程
- 一起学习网站开发之基于Spring boot的微信登录开发流程和知识点
- 看到强烈的太阳光你会不由自主的打喷嚏吗?
- 京瓷2010复印a4内容不全_京瓷1800打印机打印时设置了A4为什么打印不了复印正常...
- Java 对图片进行大小转换
- 工程流体力学笔记暂记15(理想流体的运动微分方程)
- 近视200度能学计算机吗,近视200度严重吗
热门文章
- SLAM闭合回环————视觉词典BOW小结
- PHP使用BC Math 函数处理浮点运算问题
- php-fpm – 配置详解
- The C10K problem原文翻译
- 网站流量UV是什么意思?什么是流量UV/PV/IP
- 关于Dreamweaver乱码问题的解决方案
- C++中std::sort/std::stable_sort/std::partial_sort的区别及使用
- 【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境
- mysql的表空间是否自动扩展_Oracle修改指定表空间为自动扩展
- JAVA写XML乱码问题_java 写 xml 中文乱码