我们可以使用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的简化配置相关推荐

  1. Spring Cache抽象-基于XML的配置声明(基于EhCache的配置)

    概述 完整示例 pomxml增加依赖 数据库表数据Oracle 实体类 服务层 ehcache的配置文件 Spring-EhCache配置文件 单元测试 日志输出 日志分析 示例源码 概述 首先请阅读 ...

  2. Spring笔记(基于狂神视频+自己理解)

    1.Spring 狂神源码 1.1.简介 Spring:春天-> 给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3 ...

  3. Spring Cache抽象-基于XML的配置声明(基于ConcurrentMap的配置)

    概述 示例 项目结构 数据库表数据Oracle 实体类 服务层 Spring配置文件 单元测试 日志输出 日志分析 示例源码 概述 Spring Cache基于注解的配置 如果不想使用注解或者由于其他 ...

  4. 一步一步深入spring(6)--使用基于XML配置的spring实现的AOP

    上节我们提到了使用基于注解实现的AOP,这节我们将用基于xml配置的方式来实现的AOP. 1.首先建立一个类,作为切面类,这个类主要用来实现注解中各种通知要实现的方法. 1 package com.y ...

  5. Spring MVC之基于xml配置的web应用构建

    2019独角兽企业重金招聘Python工程师标准>>> 更多spring博文参考: http://spring.hhui.top/ 直接用SpringBoot构建web应用可以说非常 ...

  6. 20.Spring学习笔记_基于配置文件的方式来配置 AOP(by尚硅谷_佟刚)

    基于 XML 的配置声明切面 除了使用 AspectJ 注解声明切面, Spring 也支持在 Bean 配置文件中声明切面. 这种声明是通过 aop schema 中的 XML 元素完成的. 正常情 ...

  7. Spring框架——基于xml文件的相关配置

    文章目录 1.IOC创建对象 2.Bean的作用域 3.Bean的继承 4.读取外部资源(导入资源文件) 1.IOC创建对象 通过 < bean id="" class=&q ...

  8. Spring学习笔记之一----基于XML的Spring IOC配置

    1. 在spring配置文件中,如果对一个property进行直接赋值,可使用<value>元素,spring负责将值转化为property指定的类型:也可以直接在property元素上使 ...

  9. 跟着小马哥学系列之 Spring AOP(基于 XML 定义 Advice 源码解析)

    学好路更宽,钱多少加班. --小马哥 简介 大家好,我是小马哥成千上万粉丝中的一员!2019年8月有幸在叩丁狼教育举办的猿圈活动中知道有这么一位大咖,从此结下了不解之缘!此系列在多次学习极客时间< ...

最新文章

  1. “三电一兽”竞争格局将打破,网络营销外包下搜电开启高效运营
  2. CentOS 安装Nginx
  3. BZOJ4300 绝世好题(动态规划)
  4. 旅行场景下的个性化营销平台揭秘
  5. CRM Fiori Opportunity应用点了edit之后超时的问题分析
  6. 32和64位jvm_我应该使用32位还是64位JVM?
  7. JavaScript每日学习日记(1)
  8. linux 源码安装 Nginx
  9. Vc数据库编程基础1
  10. python朴素贝叶斯分类的手写数字识别_关于利用机器学习进行手写数字的的识别...
  11. 在线课程培训系统源码 在线授课 在线教育源码 网课小程序源码
  12. PCB Layout的设计要点
  13. 第十三届“认证杯”数学中国数学建模比赛赛后体会
  14. 一个完整机器学习项目的基本流程
  15. 一起学习网站开发之基于Spring boot的微信登录开发流程和知识点
  16. 看到强烈的太阳光你会不由自主的打喷嚏吗?
  17. 京瓷2010复印a4内容不全_京瓷1800打印机打印时设置了A4为什么打印不了复印正常...
  18. Java 对图片进行大小转换
  19. 工程流体力学笔记暂记15(理想流体的运动微分方程)
  20. 近视200度能学计算机吗,近视200度严重吗

热门文章

  1. SLAM闭合回环————视觉词典BOW小结
  2. PHP使用BC Math 函数处理浮点运算问题
  3. php-fpm – 配置详解
  4. The C10K problem原文翻译
  5. 网站流量UV是什么意思?什么是流量UV/PV/IP
  6. 关于Dreamweaver乱码问题的解决方案
  7. C++中std::sort/std::stable_sort/std::partial_sort的区别及使用
  8. 【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境
  9. mysql的表空间是否自动扩展_Oracle修改指定表空间为自动扩展
  10. JAVA写XML乱码问题_java 写 xml 中文乱码