Spring 2.0 RC4 发布:关于 DTD/Schema 重命名和 Scope 属性的提示

工程 | Colin Sampaleanu | 2006年9月17日 | ...

Spring Framework 2.0 RC4 已发布。这是 Spring 2.0 正式版之前的最后一个候选版本,您可以从发布公告本身以及JIRA问题列表中了解更多信息,以获取此版本中所有更改的完整列表。

可能需要注意的最重要的一点是,此版本为 2.0 DTD 和 Schema (XSD) 引入了版本化的文件/位置名称。这是必要的,因为 XML bean 定义格式在 2.0 中得到了显著增强,但 1.2.x 用户仍然需要能够引用 1.2.8 DTD。以下是如何使用 2.0“beans”Schema 的示例(2.0 还附带了许多其他新的 Schema,表示各种特殊的命名空间


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="
                http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

     <!-- Define your beans here -->

</beans> 

以下是如何使用 2.0 DTD 的示例(只有一个 DTD,您必须切换到 Schema 以获取各种新的命名空间)


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
        "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>

    <!-- Define your beans here -->

</beans>

需要注意的一点是:任何现有的 1.2.x bean 定义文件都应该继续按原样工作,因为它指向 1.2 DTD,并且所有功能仍然受支持。要获得新的 2.0 DTD 或 Schema 支持的新 2.0 功能,您需要根据上述示例更新您的定义文件。您还必须从使用singleton属性定义 bean 作用域切换到使用新的scope属性。旧的singletonscope属性重叠,并且在新的 DTD/Schema 定义中完全删除singleton属性被认为是可以接受的,因为唯一受影响的人是那些已经更改其 bean 定义文件以指向新 DTD 和 Schema 的人。因此,如果您所做的只是修改现有的 bean 定义文件以指向新的 DTD 或 Schema,而没有修复任何singleton的使用,您会收到验证错误!

新的版本化 DTD 和 Schema 已上传并可在线获取。虽然 Spring 本身使用实体解析器从其自己的 jar 文件(来自类路径)中找到定义,但这些定义对于 XML 编辑器和其他外部用户来说是必需的。

获取 Spring Newsletter

通过 Spring Newsletter 保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部