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 新聞郵件

與 Spring 新聞郵件保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進步。

瞭解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將到來的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部