程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Spring的注解設置裝備擺設與XML設置裝備擺設之間的比擬

Spring的注解設置裝備擺設與XML設置裝備擺設之間的比擬

編輯:關於JAVA

Spring的注解設置裝備擺設與XML設置裝備擺設之間的比擬。本站提示廣大學習愛好者:(Spring的注解設置裝備擺設與XML設置裝備擺設之間的比擬)文章只能為提供參考,不一定能成為您想要的結果。以下是Spring的注解設置裝備擺設與XML設置裝備擺設之間的比擬正文


正文設置裝備擺設絕對於 XML 設置裝備擺設具有許多的優勢:
它可以充足應用 Java 的反射機制獲得類構造信息,這些信息可以有用削減設置裝備擺設的任務。如應用 JPA 正文設置裝備擺設 ORM 映照時,我們就不須要指定 PO 的屬性名、類型等信息,假如關系表字段和 PO 屬性名、類型都分歧,您乃至無需編寫義務屬性映照信息——由於這些信息都可以經由過程 Java 反射機制獲得。

正文和 Java 代碼位於一個文件中,而 XML 設置裝備擺設采取自力的設置裝備擺設文件,年夜多半設置裝備擺設信息在法式開辟完成後都不會調劑,假如設置裝備擺設信息和 Java 代碼放在一路,有助於加強法式的內聚性。而采取自力的 XML 設置裝備擺設文件,法式員在編寫一個功效時,常常須要在法式文件和設置裝備擺設文件中一直切換,這類思想上的不連接會下降開辟效力。

是以在許多情形下,正文設置裝備擺設比 XML 設置裝備擺設更受迎接,正文設置裝備擺設有進一步風行的趨向。Spring 2.5 的一年夜加強就是引入了許多正文類,如今您曾經可使用正文設置裝備擺設完成年夜部門 XML 設置裝備擺設的功效。

正文設置裝備擺設和 XML 設置裝備擺設的實用場所
能否有了這些 IOC 正文,我們便可以完整摒除本來 XML 設置裝備擺設的方法呢?謎底能否定的。有以下幾點緣由:
正文設置裝備擺設紛歧定在後天上優於 XML 設置裝備擺設。假如 Bean 的依附關系是固定的,(如 Service 應用了哪幾個 DAO 類),這類設置裝備擺設信息不會在安排時產生調劑,那末正文設置裝備擺設優於 XML 設置裝備擺設;反之假如這類依附關系會在安排時產生調劑,XML 設置裝備擺設明顯又優於正文設置裝備擺設,由於正文是對 Java 源代碼的調劑,您須要從新改寫源代碼偏重新編譯才可以實行調劑。

假如 Bean 不是本身編寫的類(如 JdbcTemplate、SessionFactoryBean 等),正文設置裝備擺設將沒法實行,此時 XML 設置裝備擺設是獨一可用的方法。

正文設置裝備擺設常常是類級其余,而 XML 設置裝備擺設則可以表示得加倍靈巧。好比比擬於 @Transaction 事務正文,應用 aop/tx 定名空間的事務設置裝備擺設加倍靈巧和簡略。

所以在完成運用中,我們常常須要同時應用正文設置裝備擺設和 XML 設置裝備擺設,關於類級別且不會產生更改的設置裝備擺設可以優先斟酌正文設置裝備擺設;而關於那些第三方類和輕易產生調劑的設置裝備擺設則應優先斟酌應用 XML 設置裝備擺設。Spring 會在詳細實行 Bean 創立和 Bean 注入之前將這兩種設置裝備擺設方法的元信息融會在一路。

小結
Spring 在 2.1 今後對正文設置裝備擺設供給了強力的支撐,正文設置裝備擺設功效成為 Spring 2.5 的最年夜的亮點之一。公道地應用 Spring 2.5 的正文設置裝備擺設,可以有用削減設置裝備擺設的任務量,進步法式的內聚性。然則這其實不意味著傳統 XML 設置裝備擺設將走向滅亡,在第三方類 Bean 的設置裝備擺設,和那些諸如數據源、緩存池、耐久層操作模板類、事務治理等外容的設置裝備擺設上,XML 設置裝備擺設仍然具有弗成替換的位置。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved