文章来源:http://www.iteye.com/topic/1123630,整理在我的博客有两个目的:一个是原文确实很不错,通俗易懂,督促自已将博主的这一系列关于Spring文章都学完;另一个原因是为免原文被博主删除,在此记录,方便以后查找阅读。
一.XML的特殊字符
XML中共有5个特殊的字符,分别是:&<>“’。如果配置文件中的注入值包括这些特殊字符,就需要进行特别处理。有两种解决方法:其一,采用本例中的<![CDATA[ ]]>特殊标签,将包含特殊字符的字符串封装起来;其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列在下表中说明:
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>红旗&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基础知识对Java开发者至关重要,它能帮助你构建高效、可维护的后端应用,并为后续深入学习Spring全家桶打下坚实基础。在实际项目中,结合其他Spring模块和最佳实践,可以构建出满足现代企业需求的复杂系统...
上述提到的Spring学习路线涵盖了从基础到高级的多个方面,包括了IOC、AOP、JDBC模板的使用和事务管理等核心内容。掌握这些知识点对于高效开发高质量的Java后端应用至关重要。对于Java后台开发人员而言,深入学习和...
接着,深入学习Java的基础知识。这包括变量、数据类型、控制结构(如if-else、switch、for、while循环)、类与对象、封装、继承、多态等面向对象编程的概念。同时,要掌握异常处理、文件I/O、集合框架(如ArrayList...
确保这些基础知识牢固,能够帮助你在后续的学习中更快速地理解和应用。 接下来,SQL和数据库知识是必备的。SQL是用于操作和管理数据库的语言,掌握基本的SQL查询、表关系、索引、事务处理等概念,可以帮助你有效地...
在IT行业中,Spring框架是Java...理解并掌握Spring MVC的基础知识,对于成为一名优秀的Java开发者是必不可少的。通过不断的实践和学习,你可以进一步提升在Spring MVC上的技能,构建出更加复杂且健壮的Web应用程序。
1. **Java基础**:Java的基础知识涵盖语法、类、对象、接口、异常处理、集合框架等。理解这些基本概念是进一步深入学习Java的前提。例如,了解如何声明变量、编写方法、创建类与对象,以及掌握集合类如ArrayList、...
本资源包“【Java毕业设计】毕业设计前期学习java spring系列框架.zip”可能是为了帮助学生在毕业设计阶段系统地学习和理解Spring框架的基础知识和核心概念。 Spring框架主要由以下几个部分组成: 1. **Spring ...
下面将对Spring的基础知识进行详细的解释。 1. **依赖注入(Dependency Injection,DI)**:Spring的核心特性,它允许开发者通过外部配置来管理对象及其依赖关系,而不是在代码中硬编码这些依赖。这样可以提高代码...
总的来说,Java学习涵盖了广泛的领域,从基础知识到高级特性,都需要时间和实践去掌握。通过不断地练习和项目经验积累,你将成为一名熟练的Java开发者。记住,持续学习和关注最新的技术趋势,如Java的新版本特性,是...
本章重点介绍了XML的基础知识,包括XML的元置标语言特性,与HTML和数据库的区别,以及XML的基本语法要求,如声明、根节点、标签对和大小写的敏感性。此外,还探讨了XML的数据类型定义DTD,用于约束XML文档结构和内容...
以上只是Java基础知识的一部分,学习Java还需要理解内存管理、垃圾回收、网络编程、数据库连接、JDBC操作、GUI编程(如Swing、JavaFX)、XML处理、Spring框架、Maven构建工具等内容。掌握这些基础知识是成为合格Java...
8. **XML + WebService技术**:学习XML基础,理解WSDL、SOAP和UDDI,了解RESTful服务,结合Apache Axis实现WebService。 9. **AJAX技术**:掌握异步数据交换,提高网页交互性。 **第三阶段:J2EE技术** 1. **流行...
综上所述,《Java, XML和Web服务宝典》涵盖了Java编程语言、XML数据处理以及Web服务的核心知识,是初学者和进阶者深入学习这些技术的重要参考资料。通过学习这本书,你不仅可以掌握基本概念,还能了解到实际开发中的...
【Java Web 学习项目】是一个综合性的学习资源,涵盖了从基础到进阶的Java Web开发知识。这个项目旨在帮助初学者和有一定经验的开发者更好地理解和掌握如何在Web环境中使用Java技术进行应用开发。 Java Web开发是...
"全新java基础实践教程"则是对Java基础知识的全面讲解,包括语法、面向对象编程、集合框架、异常处理、多线程等核心概念,是Java初学者的必备读物。 最后,"Spring+in+Action中文版"涵盖了Spring框架的内容。Spring...
本压缩包"spring简单学习.zip"包含了五个子目录,分别对应了Spring框架的基础学习内容。接下来,我们将深入探讨这些知识点。 1. **day01_jdbc**: 这部分主要讲解了Spring如何整合JDBC。Spring通过JdbcTemplate和...
此外,还可以探索EJB(Enterprise JavaBeans)3.0等技术,虽然它们可能不是必学的,但在某些场景下依然有用武之地,尤其是在大型企业级应用开发中。 总体而言,Java的学习路径是一个循序渐进的过程,从基础语法到...
以下是一些关于Java基础知识的关键知识点: 1. **Java环境搭建**:首先,学习Java需要安装Java Development Kit (JDK),它是编写、编译和运行Java程序的必备工具。安装后,配置JAVA_HOME环境变量,并通过`java -...
### Java基础知识概述 Java作为一门广泛使用的编程语言,在软件开发领域占据着重要的地位。本文将根据给定的信息,深入解析Java基础知识的相关知识点,包括面向对象编程基础、数据库连接技术、Web开发技术等。 ###...
Spring 框架是Java开发中的核心组件,它以其强大的功能和灵活性被广泛应用于企业级应用。本篇文章将深入探讨Spring的基本特征、必备工具、配置文件、核心功能以及对象的创建与管理。 首先,Spring的核心特性包括非...