Spring 基於XML配置

2022-06-18 05:09:14 字數 1566 閱讀 1017

基於xml的配置

對於基於xml的配置,spring 1.0的配置檔案採用dtd格式,spring2.0以後採用schema格式,後者讓不同型別的配罝擁有了自己的命名空間,使得配置檔案更具擴充套件性。此外,spring基於schema 配置方案為許多領域的問題提供了簡化的配置方法,配置工作因此得到了大幅簡化。

採取基於 schema的配置格式,檔案頭的宣告會複雜一些,先看乙個簡單的示例,如下

要了解檔案頭所宣告的內容,需要學習一些 xml schema 的知識。 schema 在文件根節點中通過 xmlns 對文件所引用的命名空間進行宣告。在上面的**中定義了3個命名空間。

① 預設命名空間:它沒有空間名,用於 spring bean 的定義。

② xsi 標準命名空間:這個命名空間用於為每個文件中的命名空間指定相應的schema 樣式檔案,是w3c定義的標準命名空間。

③ aop 命名空間:這個命名空間是 spring 配置 aop 的命名空間,即一種自定義的命名空間。

命名空間的定義分為兩個步驟:第一步指定命名空間的名稱:第二步指定命名空間的 schema 文件格式檔案的位罝,用空格或回車換行進行分隔

在第一步中,需要指定命名空間的縮略名和全名,請看下面配置所定義的命名空間:

xmlns:aop=""

aop 為命名空間的別名,一般使用簡潔易記的名稱,文件後面的元素可通過命名空間別名加以區分,如等。而為空間的全限定名,習慣上用文件發布機構官方**和相關**目錄作為全限定名,這種命名方式既可以標識文件所屬的機構,又可以很好地避免重名的問題。但從xml schema 語法來說,別名和全限定名都可以任意命名。

如果命名空間的別名為空,則表示該命名空間為文件預設命名空間。文件中無命名空間字首的元素都屬於預設命名空間,如< beans/>、等都域於在①處定義的預設命名空間。

在第二步中,為每個命名空間指定了對應的 schema 文件格式的定義檔案,定義的語法如下:

《命名空間1>空格《命名空間1 schema 檔案》空格《命名空間2>空格《命名空間2 schema 檔案》

命名空間使用全限定名,每個組織機構在發布 schema 檔案後,都會為該 schema檔案提供乙個引用的 url 位址,一般使用這個url 位址指定命名空間對應的 schema檔案。命名空間名稱和對應的 schema 檔案位址之間使用空格或回車分隔,不同的命名空間之間也使用這種分隔方法。

指定命名空間的 schema 檔案位址有兩個用途:其一, xml 解析器可以獲取 schema檔案並對文件進行格式合法性驗證;其二,在開發環境下, ide 可以引用 schema 檔案對文件編輯提供誘導功能(自動補全功能)。當然,這個 schema 檔案的遠端位址並非一定能夠訪問,一般的 ide 都提供了從本地類路徑查詢 schema 檔案的功能,只有找不到時才從遠端載入。

spring 4.0 配置的 schema 檔案放置在各模組 jar 檔案內乙個名為 config 的目錄下。

基於xml配置Spring

之前用的是springboot,沒接觸過spring的xml配置,最近專案轉到普通spring,順便學習了一下基於xml的配置。首先是命名空間的定義 處為預設命名空間,它沒有空間名,用於springbean的定義 處xsi標準命名空間,用於為每個文件中的命名空間指定相應的schema樣式檔案,是w3...

Spring基於xml配置bean

基於構造方法例項化物件 class bean class name name value name color value bean class index 0 value index 1 value bean 基於靜態工廠例項化物件 靜態工廠通過靜態方法建立物件,隱藏物件建立的細節 public ...

基於xml配置spring的AOP

xml中主要配置 配置賬戶的持久層 accountdao class com.itheima.dao.impl.iaccountdaoimpl datasource ref datesource property bean 配置賬戶的業務層 accountservice class com.ithe...