最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring XML配置文件標(biāo)簽詳解

 更新時間:2024年12月26日 10:45:11   作者:南嶺落梅  
這篇文章主要介紹了spring XML配置文件標(biāo)簽詳解,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧

spring的XML配置文件的標(biāo)簽大體可以分為兩種:

其中的默認標(biāo)簽,我們前面文章里面出現(xiàn)的標(biāo)簽都是默認標(biāo)簽,是spring本身自帶的,不需要我們?nèi)ヒ肫渌麞|西。而自定義標(biāo)簽則是指非默認標(biāo)簽的其他的由我們或產(chǎn)品發(fā)行方自定義的對接spirng的XML標(biāo)簽。這里其實就關(guān)系到spring整合其他框架了。

默認標(biāo)簽與自定義標(biāo)簽最大的區(qū)別就是,自定義標(biāo)簽需要我們自己引入其它命名空間約束的標(biāo)簽(通過前綴方式引入)。這里我們先來講一下Bean的XML配置文件的標(biāo)頭。

命名空間、xsd介紹

提到配置文件里面的標(biāo)簽,就離不開要談到xsd和DTD,他們都可以用來描述xml文檔的結(jié)構(gòu),以前一些老的代碼里面可能還會看到DTD,但是隨著xsd支持數(shù)據(jù)類型,所以現(xiàn)在看到的基本都是xsd了。

XML Schema 語言是用來定義xml結(jié)構(gòu)的。簡稱xsd(XML Schema Definition)

如下圖,這是一個默認的spring Bean的XML配置文件的標(biāo)頭:

xmlns:意為XML 命名空間,用于定義一套xml標(biāo)簽的規(guī)范。這個屬性用于定義這個 XML 文檔的默認命名空間,在這個示例中告訴解析器這個 XML 文件中的元素(如<bean>)是http://www.springframework.org/schema/beans這個命名空間下定義的。

xmlns:xsi:用于引入XML 模式實例命名空間(也就是XML Schema Instance)。這個命名空間提供了一些用于驗證 XML 文檔結(jié)構(gòu)的屬性。

xsi:;schemaLocation:指定 XML 文檔所遵循的 XML Schema 的位置。這個屬性通常會有一對的值,用來指定xmlns屬性定義的文件的位置??粗褚粋€網(wǎng)址,實際可能映射的是本地的某個jar包里面的xsd文件。而且寫法上,先寫命名空間,再寫xsd地址。

總結(jié)一下引入schema文件的具體步驟:

1、查看schema文檔,找到根元素,在xml中寫出來

2、根元素來自哪個命名空間。使用xmlns指令來聲明(命名空間的作用:它指的是一個環(huán)境,所用的標(biāo)簽來自于哪個環(huán)境定義的)

3、聲明引入的名稱空間跟哪個xsd文件對應(yīng)

4、聲明schemaLocation哪里來的,一般都是某個標(biāo)準(寫法上都是先寫命名空間+具體文件的位置,成對)

除此之外,在spring里面還有7大模塊,每個模塊也有它們自己的對應(yīng)標(biāo)簽。

例如context組件,在使用注解和配置類來平替bean.xml配置文件的時候,我們就需要使用到context文件的標(biāo)簽。詳細的可以去看我的另一篇文章:

<beans>標(biāo)簽配置多環(huán)境

在實際開發(fā)中,我們往往會有很多環(huán)境。比如編寫代碼一個環(huán)境,測試一個環(huán)境,運維又是一個環(huán)境,每個環(huán)境可能都會有自己特定的某個東西。為了便于這些環(huán)境分開,在spring的XML配置環(huán)境里面,我們可以使用<beans>來給特定的環(huán)境配置其所需要的環(huán)境。

這里邊示范邊講解,我們編寫配置文件:

其中,在配置文件的根標(biāo)簽下可以繼續(xù)使用<beans>,并不是說<beans>只作為根標(biāo)簽。在用來配置環(huán)境的Bean的<beans>標(biāo)簽,還需要通過屬性profile來給這個<beans>的內(nèi)容啟用的環(huán)境命名。相關(guān)的User類和AServer類大家自己定義即可,里面沒什么東西。

然后是測試類運行:

其中,使用System.setProperty();來啟用我們的spring配置文件的相關(guān)環(huán)境,而且我們的代碼運行中,多次啟用了不同的環(huán)境,那么只會生效我們最新啟用的那個環(huán)境。

這里兩個環(huán)境都有aServer,但是text環(huán)境中的aServer里面給屬性name賦值為李四,dev賦值為張三。

另外還需要注意,我們更改環(huán)境后,我們的容器還要重新加載一下進行更新,因為這個容器是根據(jù)調(diào)用對象的環(huán)境,返回對應(yīng)的Bean配置,而其他不符合環(huán)境的Bean配置不會給到調(diào)用對象。

我們看斷點的變量池,這是第一個斷點處的內(nèi)容,也就是開發(fā)環(huán)境下的Bean對象:

這是第二斷點處的內(nèi)容:

當(dāng)然,把多個環(huán)境的配置全部寫在一個配置文件里面,會顯得很亂,所以多環(huán)境還常搭配<import>標(biāo)簽使用。

<import>引入其他資源配置文件

我們編寫兩個bean的配置文件:

其中,我們的bean1文件中沒有配置user,但是我們在bean2文件中配置了user,我們在bean1引入bean2,我們就可以得到bean2里面的配置了。

測試類:

運行結(jié)果:

前面我們講到了多環(huán)境常搭配<import>,也就是在這里。我們在主配置文件里面,不再直接在配置多環(huán)境的<beans>標(biāo)簽下編寫內(nèi)容,而是把內(nèi)容編寫到另一個單獨的配置文件里面,然后在主配置文件下面的多環(huán)境使用<import>導(dǎo)入它。

引入自定義標(biāo)簽

這個自定義,不只是在說我們自己個人定義的。實際應(yīng)用中,是指spring整合其他框架時,其他框架有提供自己相關(guān)XML配置的標(biāo)簽,我們可以將其引入來使用。

在我的另一篇文章里講到了springContext標(biāo)簽的引入,但是那是spring自己的模塊,如果我們要引入其他框架,就不像那里面演示的改幾個單詞就可以了。

在這里我以導(dǎo)入dubbo為例,分享一下我的個人經(jīng)驗:

首先,我們要導(dǎo)入dubbo的jar包,然后在我們的Bean配置文件的表頭中引入相關(guān)標(biāo)簽。

引入相關(guān)標(biāo)簽的操作和spring一樣,關(guān)鍵在于導(dǎo)入dubbo的schema。但是我們要怎么寫呢?任何官方通常都會給出相關(guān)說明文檔,所以我們?nèi)サ絛ubbo的官網(wǎng)查找。

進入到官網(wǎng)之后,我們直接ctrl+F,打開頁面關(guān)鍵詞搜索,輸入 "Schema":

搜索出結(jié)果,上來就是我們要找的導(dǎo)入過程。

這里注意我們要添加的只有 xmlns:dubbo一行,以及xsi:schemaLocation中關(guān)于dubbo的xsd的成對映射。

到此這篇關(guān)于spring XML配置文件標(biāo)簽的文章就介紹到這了,更多相關(guān)spring XML配置文內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 從application.properties配置文件獲取的漢字亂碼的解決方法

    從application.properties配置文件獲取的漢字亂碼的解決方法

    平時從配置文件各種讀取配置參數(shù)都正常,但是有時候放了個中文就亂碼,你肯定試過網(wǎng)上好多方法,都沒解決,那么來看下面,恭喜你終于找這里了,本文給大家介紹了從application.properties配置文件獲取的漢字亂碼的解決方法,需要的朋友可以參考下
    2024-03-03
  • RecyclerChart動態(tài)屬性圖標(biāo)聯(lián)動數(shù)據(jù)動態(tài)加載詳解

    RecyclerChart動態(tài)屬性圖標(biāo)聯(lián)動數(shù)據(jù)動態(tài)加載詳解

    這篇文章主要為大家介紹了RecyclerChart動態(tài)屬性圖標(biāo)聯(lián)動數(shù)據(jù)動態(tài)加載詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • spring入門教程之bean的繼承與自動裝配詳解

    spring入門教程之bean的繼承與自動裝配詳解

    眾所周知Spring里面的bean就類似是定義的一個組件,而這個組件的作用就是實現(xiàn)某個功能的,下面這篇文章主要給大家介紹了關(guān)于spring入門教程之bean繼承與自動裝配的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Java獲取文件的hash值(SHA256)兩種方式

    Java獲取文件的hash值(SHA256)兩種方式

    這篇文章主要給大家介紹了關(guān)于Java獲取文件hash值(SHA256)的兩種方式,SHA256是一種哈希算法,它是不可逆的,也就是說無法解密,需要的朋友可以參考下
    2023-09-09
  • SpringBoot JPA懶加載失效的解決方案(親測有效)

    SpringBoot JPA懶加載失效的解決方案(親測有效)

    這篇文章主要介紹了SpringBoot JPA懶加載失效的解決方案(親測有效),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java制作仿微信視頻播放控件

    java制作仿微信視頻播放控件

    這篇文章主要介紹了java制作仿微信視頻播放控件的方法和代碼分享,控件繼承自SurfaceView,十分的實用,小伙伴們可以自由擴展。
    2015-04-04
  • 解決mapstruct在eclipse生成不了mapper的實現(xiàn)類問題

    解決mapstruct在eclipse生成不了mapper的實現(xiàn)類問題

    這篇文章主要介紹了解決mapstruct在eclipse生成不了mapper的實現(xiàn)類問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Mybatis框架搭建與簡單查詢詳解

    Mybatis框架搭建與簡單查詢詳解

    本文主要介紹了Mybatis框架搭建與簡單查詢的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • java實現(xiàn)紙牌游戲之小貓釣魚算法

    java實現(xiàn)紙牌游戲之小貓釣魚算法

    這篇文章主要為大家詳細介紹了java實現(xiàn)紙牌游戲之小貓釣魚算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java編碼輔助工具Mapstruct用法詳解

    Java編碼輔助工具Mapstruct用法詳解

    這篇文章主要介紹了Java編碼輔助工具Mapstruct用法詳解,手動編碼setter/getter各個對應(yīng)屬性,會顯得臃腫繁瑣。通過Mapstruct框架可簡單方便地完成這一工作。,需要的朋友可以參考下
    2019-06-06

最新評論

金沙县| 南部县| 洮南市| 旅游| 安阳县| 通辽市| 襄樊市| 凤翔县| 抚顺市| 枣强县| 慈溪市| 溧阳市| 兰坪| 镇原县| 裕民县| 陆丰市| 平江县| 湘潭市| 荔浦县| 武义县| 林口县| 腾冲县| 托里县| 徐汇区| 五家渠市| 旬邑县| 河津市| 文登市| 高阳县| 大新县| 金昌市| 汤原县| 浦江县| 万载县| 榆林市| 任丘市| 涿州市| 乌苏市| 靖西县| 商城县| 资源县|