今天小編就為大家?guī)?lái)一篇介紹xml配置的優(yōu)缺點(diǎn)以及和Spring注解區(qū)別的文章。小編覺得挺實(shí)用的,為此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有寶塔免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。1:xml是集中式的元數(shù)據(jù),不需要和代碼綁定的;
在我們開發(fā)中,xml配置文件和代碼類是區(qū)分開的。不需要綁定到代碼中
2:使用xml配置可以讓軟件更具有擴(kuò)展性;
比如,我們?cè)趕pring中,我們不想使用接口而是想用接口的實(shí)現(xiàn)類,這個(gè)時(shí)候只需要修改xml配置中bean的class值就可以了。
3:對(duì)象之間的關(guān)系一目了然;
比如,我們?cè)诨趚ml配置讀取配置信息,如下圖:
編輯
從xml結(jié)構(gòu)中,我們就可以看出,在popertyPlaceholderConfigure類里面有個(gè)locations的屬性,而且是list集合。
再比如,使用xml配置數(shù)據(jù)源的是:
編輯
DataSource對(duì)象的屬性一目了然。
4:xml定義:可擴(kuò)展標(biāo)記語(yǔ)言,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,簡(jiǎn)稱XML。從這個(gè)定義中我們可以發(fā)現(xiàn),xml大的優(yōu)勢(shì)就在于,開發(fā)者(程序員)能夠?yàn)檐浖可矶ㄗ鍪褂玫臉?biāo)記,使得xml更通俗易懂;
5:成熟的校驗(yàn)機(jī)制,來(lái)保證正確。可以使用Schema或者是DTD來(lái)對(duì)xml的正確性進(jìn)行校驗(yàn)。
6:基于xml配置的時(shí)候,只需要修改xml即可,不需要對(duì)現(xiàn)有的程序進(jìn)行修改。
7:容易與其他系統(tǒng)進(jìn)行數(shù)據(jù)交互。數(shù)據(jù)共享方便
雖然上面列出了很多優(yōu)點(diǎn),但是xml也有缺點(diǎn)
1:應(yīng)用程序中如果使用了xml配置,需要解析xml的工具或者是是第三方類庫(kù)的支持;
2:解析xml的時(shí)候必然會(huì)占用資源,勢(shì)必會(huì)影響到應(yīng)用程序的性能;
以java為例,無(wú)論是將xml一次性裝置到內(nèi)存中,還是一行一行讀取解析的,都會(huì)占用資源的。
3:xml配置文件過(guò)多,會(huì)導(dǎo)致維護(hù)變得困難
4:在程序編譯期間無(wú)法對(duì)其配置項(xiàng)的正確性進(jìn)行驗(yàn)證,只能在運(yùn)行期發(fā)現(xiàn)。
5:出錯(cuò)后,排錯(cuò)變得困難。往往在配置的時(shí)候,一個(gè)手誤就會(huì)出現(xiàn)莫名其妙的錯(cuò)誤(雖然事出必有妖,但是排查真難);
比如,xml配置bean信息的時(shí)候,如果class的值帶有空格,這種不好檢查的,是比較麻煩的。排查起來(lái)很費(fèi)事。
6:開發(fā)的時(shí)候,既要維護(hù)代碼又要維護(hù)配置文件,使得開發(fā)的效率降低;
7:代碼與配置項(xiàng)之間有時(shí)候會(huì)存在很多“潛規(guī)則”.改變了任意一方,都有可能影響到另一方的使用。這是個(gè)大坑
比如:自定義的標(biāo)記,如果其他開發(fā)不清楚這些的話,修改了無(wú)論是代碼還是xml的配置,都會(huì)導(dǎo)致程序不能正常運(yùn)行。
8:開發(fā)工具對(duì)xml的驗(yàn)證支持的不是很好。
比如idea,對(duì)xml正確性,如果是自定義的,驗(yàn)證就不是很好。
說(shuō)完xml的優(yōu)缺點(diǎn),我們?cè)趤?lái)看看注解的優(yōu)缺點(diǎn)
1:注解的解析可以不依賴于第三方庫(kù),可以之間使用Java自帶的反射
2:注解和代碼在一起的,之間在類上,降低了維護(hù)兩個(gè)地方的成本
3:注解如果有問(wèn)題,在編譯期間,就可以驗(yàn)證正確性,如果出錯(cuò)更容易找
4:使用注解開發(fā)能夠提高開發(fā)效率。不用多個(gè)地方維護(hù),不用考慮是否存在“潛規(guī)則”
1:修改的話比較麻煩。如果需要對(duì)注解進(jìn)行修改的話,就需要對(duì)整個(gè)項(xiàng)目重新編譯
2:處理業(yè)務(wù)類之間的復(fù)雜關(guān)系,不然xml那樣容易修改,也不及xml那樣明了
3:在程序中注解太多的話,會(huì)影響代碼質(zhì)量,代碼簡(jiǎn)潔會(huì)有影響
4:如果后來(lái)的人對(duì)注解不了解,會(huì)給維護(hù)帶來(lái)成本
5:注解功能沒(méi)有xml配置齊全
注解:
優(yōu)點(diǎn):
簡(jiǎn)化配置
使用起來(lái)直觀且容易,提升開發(fā)的效率
類型安全,容易檢測(cè)出問(wèn)題
缺點(diǎn):
修改起來(lái)比xml麻煩
如果不項(xiàng)目不了解,可能給開發(fā)和維護(hù)帶來(lái)麻煩
Xml:
優(yōu)點(diǎn):
把類與類之間松解偶;修改方便;容易擴(kuò)展
容易和其他系統(tǒng)進(jìn)行數(shù)據(jù)交互
對(duì)象之間的關(guān)系一目了然
缺點(diǎn):
配置冗長(zhǎng),需要額外維護(hù);影響開發(fā)效率
類型不安全,校驗(yàn)不出來(lái),出錯(cuò)不好排查
注解簡(jiǎn)單概括:寫起來(lái)比較簡(jiǎn)單、方便,看起來(lái)也簡(jiǎn)潔,但是修改麻煩
Xml配置概括:寫起來(lái)比較靈活、修改方便,但是寫和維護(hù)麻煩
以上就是xml配置的優(yōu)缺點(diǎn)以及和Spring注解區(qū)別的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。