`

学习Spring必学的Java基础知识(4)----XML基础知识

阅读更多
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助。):

[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081
[2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/1123293
[3] 属性编辑器,即PropertyEditor-->Spring IoC:http://www.iteye.com/topic/1123628
[4] XML基础知识-->Spring配置:http://www.iteye.com/topic/1123630
[5] 注解-->Spring配置:http://www.iteye.com/topic/1123823
[6] 线程本地变更,即ThreadLocal-->Spring事务管理:http://www.iteye.com/topic/1123824
[7] 事务基础知识-->Spring事务管理:http://www.iteye.com/topic/1124043
[8] 国际化信息-->MVC:http://www.iteye.com/topic/1124044
[9] HTTP报文-->MVC:http://www.iteye.com/topic/1124408



XML的特殊字符

XML中共有5个特殊的字符,分别是:&<>“’。如果配置文件中的注入值包括这些特殊字符,就需要进行特别处理。有两种解决方法:其一,采用本例中的<![CDATA[ ]]>特殊标签,将包含特殊字符的字符串封装起来;其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列在表4-2中说明:



Spring在进行XML配置时,如果属性值包含了一个XML的特殊符号,因此我们特意在属性值外添加了一个<![CDATA[ ]]>的XML特殊处理标签,<![CDATA[ ]]>的作用是让XML解析器将标签中的字符串当作普通的文本对待,以防止某些字符串对XML格式造成破坏。来看一个例子:

<bean id="car" class="com.baobaotao.attr.Car">
	<property name="maxSpeed">
		<value>200</value>
	</property>
	<property name="brand">①
		<value><![CDATA[红旗&CA72]]></value>
	</property>
</bean>


如果使用XML转义序列,我们可以使用以下的配置替换代码清单4-10中的配置:
<property name="brand"><value>红旗&amp;CA72</value></property>


Schema命名空间的声明

对于基于XML的配置,Spring 1.0的配置文件采用DTD格式,Spring 2.0以后使用Schema的格式,后者让不同类型的配置拥有了自己的命名空间,使配置文件更具扩展性。此外,Spring基于Schema配置方案为许多领域的问题提供了简化的配置方法,配置工作因此得到了大幅简化。

采取基于Schema配置格式,文件头的声明会复杂一些,先看一个简单的示例:



要了解文件头中声明的内容,需要学习一点XML Schema的知识,Schema在文档根节点中通过xmlns对文档中的命名空间进行声明。我们在上面的代码中定义了3个命名空间:

① 默认命名空间:它没有空间名,用于Spring Bean的定义;
②  xsi命名空间:这个命名空间用于为每个文档中命名空间指定相应的Schema样式文件,是标准组织定义的标准命名空间;
③  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文档格式定义文件,定义的语法是:



命名空间使用全限定名,每个组织机构在发布Schema文件后,都会为该Schema文件提供一个引用的URL地址,一般使用这个URL地址指定命名空间对应的Schema文件。命名空间名称和对应的Schema文件地址之间使用空格或回车分隔,不同的命名空间之间也使用这种分隔方法。

指定命名空间的Schema文件地址有两个用途:XML解析器可以获取Schema文件并对文档进行格式合法性验证;在开发环境下,IDE可以引用Schema文件对文档编辑提供诱导功能。

这些文章摘自于我的《Spring 4.x企业应用开发实战》,我将通过连载的方式,陆续在此发出。欢迎大家讨论。

  • 大小: 29.3 KB
  • 大小: 138.9 KB
  • 大小: 15.6 KB
分享到:
评论
3 楼 bin_1715575332 2013-12-01  
楼主的文章撰写能力很强,清晰易懂,像您学习。!
2 楼 qq334236200 2013-11-29  
1 楼 cmyx2008love 2012-08-07  
           

相关推荐

    Spring基础知识汇总Java开发必看

    学习Spring基础知识对Java开发者至关重要,它能帮助你构建高效、可维护的后端应用,并为后续深入学习Spring全家桶打下坚实基础。在实际项目中,结合其他Spring模块和最佳实践,可以构建出满足现代企业需求的复杂系统...

    Java Spring学习路线.pdf

    上述提到的Spring学习路线涵盖了从基础到高级的多个方面,包括了IOC、AOP、JDBC模板的使用和事务管理等核心内容。掌握这些知识点对于高效开发高质量的Java后端应用至关重要。对于Java后台开发人员而言,深入学习和...

    spring-mvc-step-by-step中文版

    ### Spring MVC Step-by-Step中文版知识点概览 #### 一、Spring框架核心概念与组成部分 **1.... - **定义**:控制反转是一种...对于希望深入了解Spring MVC并具备一定Java基础的学习者来说,这份教程将是宝贵的资源。

    java学习知识点,从何学起

    接着,深入学习Java的基础知识。这包括变量、数据类型、控制结构(如if-else、switch、for、while循环)、类与对象、封装、继承、多态等面向对象编程的概念。同时,要掌握异常处理、文件I/O、集合框架(如ArrayList...

    推荐的学习Java的学习顺序

    确保这些基础知识牢固,能够帮助你在后续的学习中更快速地理解和应用。 接下来,SQL和数据库知识是必备的。SQL是用于操作和管理数据库的语言,掌握基本的SQL查询、表关系、索引、事务处理等概念,可以帮助你有效地...

    【Java毕业设计】毕业设计前期学习java spring系列框架.zip

    本资源包“【Java毕业设计】毕业设计前期学习java spring系列框架.zip”可能是为了帮助学生在毕业设计阶段系统地学习和理解Spring框架的基础知识和核心概念。 Spring框架主要由以下几个部分组成: 1. **Spring ...

    spring学习: spring mvc基础

    在IT行业中,Spring框架是Java...理解并掌握Spring MVC的基础知识,对于成为一名优秀的Java开发者是必不可少的。通过不断的实践和学习,你可以进一步提升在Spring MVC上的技能,构建出更加复杂且健壮的Web应用程序。

    Spring基础知识详解

    下面将对Spring的基础知识进行详细的解释。 1. **依赖注入(Dependency Injection,DI)**:Spring的核心特性,它允许开发者通过外部配置来管理对象及其依赖关系,而不是在代码中硬编码这些依赖。这样可以提高代码...

    java学习过程资源

    【学习阶段1】Java基础入门(1-25天): 在这个阶段,你将学习Java编程语言的基础知识,包括变量、数据类型、运算符、流程控制(if、for、while)、数组、类与对象、封装、继承、多态等概念。此外,还会涉及到异常...

    图解学习、搭建、整合Struts-Spring-Hibernate框架

    实体类、映射文件(hbm.xml)和注解是Hibernate的基础,学习Hibernate需理解这些概念,以及HQL(Hibernate Query Language)的使用。 4. **整合SSH**: 整合SSH意味着让这三个框架协同工作。Spring可以管理Struts...

    Java基础知识

    ### Java基础知识概述 Java作为一门广泛使用的编程语言,在软件开发领域占据着重要的地位。本文将根据给定的信息,深入解析Java基础知识的相关知识点,包括面向对象编程基础、数据库连接技术、Web开发技术等。 ###...

    零基础学Java.Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT)

    本章重点介绍了XML的基础知识,包括XML的元置标语言特性,与HTML和数据库的区别,以及XML的基本语法要求,如声明、根节点、标签对和大小写的敏感性。此外,还探讨了XML的数据类型定义DTD,用于约束XML文档结构和内容...

    java 基础知识点

    以上只是Java基础知识的一部分,学习Java还需要理解内存管理、垃圾回收、网络编程、数据库连接、JDBC操作、GUI编程(如Swing、JavaFX)、XML处理、Spring框架、Maven构建工具等内容。掌握这些基础知识是成为合格Java...

    编程学习总结 包括 Java基础、Java并发、JVM、MySQL、Redis、Spring、MyBatis、RocketMQ

    1. **Java基础**:Java的基础知识涵盖语法、类、对象、接口、异常处理、集合框架等。理解这些基本概念是进一步深入学习Java的前提。例如,了解如何声明变量、编写方法、创建类与对象,以及掌握集合类如ArrayList、...

    spring源码-2022-08-14spring源码spring源码spring源码

    - **依赖注入**:Spring如何通过XML、注解或Java配置实现bean的创建、初始化和装配。 - **AOP代理**:Spring如何使用JDK动态代理和CGLIB来实现AOP代理,以及切点表达式和通知的工作原理。 - **事件驱动**:Spring中...

    java学习学习学习

    总的来说,Java学习涵盖了广泛的领域,从基础知识到高级特性,都需要时间和实践去掌握。通过不断地练习和项目经验积累,你将成为一名熟练的Java开发者。记住,持续学习和关注最新的技术趋势,如Java的新版本特性,是...

    JAVA学习步骤DOC

    8. **XML + WebService技术**:学习XML基础,理解WSDL、SOAP和UDDI,了解RESTful服务,结合Apache Axis实现WebService。 9. **AJAX技术**:掌握异步数据交换,提高网页交互性。 **第三阶段:J2EE技术** 1. **流行...

    java web 学习项目

    【Java Web 学习项目】是一个综合性的学习资源,涵盖了从基础到进阶的Java Web开发知识。这个项目旨在帮助初学者和有一定经验的开发者更好地理解和掌握如何在Web环境中使用Java技术进行应用开发。 Java Web开发是...

    Java,XML和Web服务宝典

    综上所述,《Java, XML和Web服务宝典》涵盖了Java编程语言、XML数据处理以及Web服务的核心知识,是初学者和进阶者深入学习这些技术的重要参考资料。通过学习这本书,你不仅可以掌握基本概念,还能了解到实际开发中的...

    要精通java必看的经典书籍:Ajax中文手册(快速上手),hibernat培训,JavaScript源码大全 v1.0,Struts快速学习指南,全新java基础实践教程,Spring+in+Action中文版

    "全新java基础实践教程"则是对Java基础知识的全面讲解,包括语法、面向对象编程、集合框架、异常处理、多线程等核心概念,是Java初学者的必备读物。 最后,"Spring+in+Action中文版"涵盖了Spring框架的内容。Spring...

Global site tag (gtag.js) - Google Analytics