您好,登錄后才能下訂單哦!
今天小編就為大家帶來一篇介紹xml配置的優缺點以及和Spring注解區別的文章。小編覺得挺實用的,為此分享給大家做個參考。一起跟隨小編過來看看吧。
1:xml是集中式的元數據,不需要和代碼綁定的;
在我們開發中,xml配置文件和代碼類是區分開的。不需要綁定到代碼中
2:使用xml配置可以讓軟件更具有擴展性;
比如,我們在spring中,我們不想使用接口而是想用接口的實現類,這個時候只需要修改xml配置中bean的class值就可以了。
3:對象之間的關系一目了然;
比如,我們在基于xml配置讀取配置信息,如下圖:
編輯
從xml結構中,我們就可以看出,在popertyPlaceholderConfigure類里面有個locations的屬性,而且是list集合。
再比如,使用xml配置數據源的是:
編輯
DataSource對象的屬性一目了然。
4:xml定義:可擴展標記語言,標準通用標記語言的子集,簡稱XML。從這個定義中我們可以發現,xml最大的優勢就在于,開發者(程序員)能夠為軟件量身定做使用的標記,使得xml更通俗易懂;
5:成熟的校驗機制,來保證正確。可以使用Schema或者是DTD來對xml的正確性進行校驗。
6:基于xml配置的時候,只需要修改xml即可,不需要對現有的程序進行修改。
7:容易與其他系統進行數據交互。數據共享方便
雖然上面列出了很多優點,但是xml也有缺點
1:應用程序中如果使用了xml配置,需要解析xml的工具或者是是第三方類庫的支持;
2:解析xml的時候必然會占用資源,勢必會影響到應用程序的性能;
以java為例,無論是將xml一次性裝置到內存中,還是一行一行讀取解析的,都會占用資源的。
3:xml配置文件過多,會導致維護變得困難
4:在程序編譯期間無法對其配置項的正確性進行驗證,只能在運行期發現。
5:出錯后,排錯變得困難。往往在配置的時候,一個手誤就會出現莫名其妙的錯誤(雖然事出必有妖,但是排查真難);
比如,xml配置bean信息的時候,如果class的值帶有空格,這種不好檢查的,是比較麻煩的。排查起來很費事。
6:開發的時候,既要維護代碼又要維護配置文件,使得開發的效率降低;
7:代碼與配置項之間有時候會存在很多“潛規則”.改變了任意一方,都有可能影響到另一方的使用。這是個大坑
比如:自定義的標記,如果其他開發不清楚這些的話,修改了無論是代碼還是xml的配置,都會導致程序不能正常運行。
8:開發工具對xml的驗證支持的不是很好。
比如idea,對xml正確性,如果是自定義的,驗證就不是很好。
說完xml的優缺點,我們在來看看注解的優缺點
1:注解的解析可以不依賴于第三方庫,可以之間使用Java自帶的反射
2:注解和代碼在一起的,之間在類上,降低了維護兩個地方的成本
3:注解如果有問題,在編譯期間,就可以驗證正確性,如果出錯更容易找
4:使用注解開發能夠提高開發效率。不用多個地方維護,不用考慮是否存在“潛規則”
1:修改的話比較麻煩。如果需要對注解進行修改的話,就需要對整個項目重新編譯
2:處理業務類之間的復雜關系,不然xml那樣容易修改,也不及xml那樣明了
3:在程序中注解太多的話,會影響代碼質量,代碼簡潔會有影響
4:如果后來的人對注解不了解,會給維護帶來成本
5:注解功能沒有xml配置齊全
注解:
優點:
簡化配置
使用起來直觀且容易,提升開發的效率
類型安全,容易檢測出問題
缺點:
修改起來比xml麻煩
如果不項目不了解,可能給開發和維護帶來麻煩
Xml:
優點:
把類與類之間松解偶;修改方便;容易擴展
容易和其他系統進行數據交互
對象之間的關系一目了然
缺點:
配置冗長,需要額外維護;影響開發效率
類型不安全,校驗不出來,出錯不好排查
注解簡單概括:寫起來比較簡單、方便,看起來也簡潔,但是修改麻煩
Xml配置概括:寫起來比較靈活、修改方便,但是寫和維護麻煩
以上就是xml配置的優缺點以及和Spring注解區別的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。