close
在Spring 2.5之後,支援用Annotation的方式來宣告像是Bean, Controller, Service ...等Component
甚至,連web.xml跟Spring本身的核心配置檔(xxx-servlet.xml)都可以用Annotation的方式來取代
而在我最近survey的幾篇有關SPring MVC的文章中,許多都是採Annotation的方式做配置,甚至有些也提到Annotation的方式是趨勢
這邊稍微記錄一下我有查到有關在Spring MVC中,其他人分別選擇用Annotation或者是用XML的理由:
方便日後在選擇時可以有個參考:
1. 為何選擇用Annotation? (1) XML並不是型別安全的(Type-Safe),因此若採XML配置,你很難在啟動Spring專案前就發現內容上的錯誤 而若使用annotation,當設定內容有誤時在編譯時就會被發現 (2) 由於XML需要詳盡的記錄每項屬性的設定,因此當Web應用程式越來越龐大,相對應的XML檔案內容就會越來越肥大 (3) 在XML中很難搜尋特定的內容,只能依賴Ctrl+F等文件搜尋的方式 2. 為何選擇用XML? (1) 統一寫在XML中可以直接看到整個配置的全貌,而不會分散各個地方 (2) 在Spring中可藉由 tag來將XML拆開成數個檔案,以避免檔案過大的問題 (3) 有些Annotation隱藏太多實際運作的複雜細節,像是 @AutoWired ,然後在XML中我們可以做更細部的一些設定 其實各有其考量的地方,只是以我目前的立場來說我也是傾向於用Annotation 畢竟跟著趨勢走比較不會跟不上腳步,另外有關在XML中很難發現設定錯誤跟尋找內容這點我也蠻認同的 如果往後有再看到相關的文章我會再補充上來~!
參考資料:
1. https://blog.codecentric.de/en/2012/07/spring-dependency-injection-styles-why-i-love-java-based-configuration/
2. http://stackoverflow.com/questions/29162278/benefits-of-javaconfig-over-xml-configurations-in-spring
3. https://dzone.com/articles/consider-replacing-spring-xml
文章標籤
全站熱搜
留言列表