Spring 2.0 RC4 版本發布:DTD/Schema 重新命名、Scope 屬性注意事項

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

Spring 框架 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 功能,並由新的 2.0 DTD 或 schema 支援,您需要根據上述範例更新您的定義檔。您也必須從使用 singleton 屬性來定義 bean 作用域,切換為使用新的 scope 屬性。舊的 singletonscope 屬性重疊,並且認為在新 DTD/schema 定義中完全移除 singleton 屬性是可以接受的,因為唯一受到影響的人是那些已經在變更其 bean 定義檔以指向新 DTD 和 schema 的人。因此,如果您所做的只是修改現有的 bean 定義檔以指向新的 DTD 或 schema,而沒有修正任何 singleton 的使用,您將會收到驗證錯誤!

新的版本化 DTD 和 schema 已上傳並在線上提供。雖然 Spring 本身使用實體解析器在其自身的 jar 檔案(從 classpath)中找到定義,但 XML 編輯器和其他外部使用者需要在線上取得這些定義。

訂閱 Spring 電子報

訂閱 Spring 電子報,保持聯繫

訂閱

搶先一步

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

深入瞭解

取得支援

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

深入瞭解

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

檢視全部