程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Java下的Framework編寫(4)--Annotation vs XML

Java下的Framework編寫(4)--Annotation vs XML

編輯:關於JSP

看看編程語言發展 一開始只是函數的封裝,
    到了OO語言,對象有了自己的屬性和方法。
    到了框架滿天飛的年代,這些屬性和方法又有了自己的屬性,來告訴框架如何為自己提供服務。比如Spring和EJB3,POJO就用配置信息來告訴框架進行無侵入服務提供(如事務)和依賴注入。
    整個過程非常的自然,程序員用以描述系統的語言越來越詳細。所以Annotation普一推出就受到了熱烈追捧。那些輕量級框架喜歡它,AOP方案喜歡它,連EJB3也把寶全壓在了它身上。
    不過,在annotation之前框架早已存在,只是那時候大家把信息放在XML裡,放在數據庫裡,放在POJO的屬性裡。
    在那篇Spring vs EJB3的文章裡,Spring用XML,EJB3用annotaion,但明顯的,xml和annotation都有著明顯的劣勢,所以Spring和EJB3又都在快速吸收著另一種配置方法的優點,比如Spring就支持用annotation聲明事務。
    基本上此的優點就是彼的弱點了。
    Annotation的優點
  一是不需要強力的Factory類來維護XML配置信息,不需要定位配置信息在xml文件中的位置,可以很敏捷的進行即時反射。
  二是不需要割裂配置文件和POJO,維護人員不需要經常同時打開xml 和pojo文件,並定位xml信息的位置。
  但Annotation也有弱點
  一是需要編譯,不能動態更新。
  二是真正需要割裂POJO和配置信息,不希望配置信息弄髒POJO的時候。
  三是Hibernate,Struts,三姑媽,四姨婆的annotation如果一股腦兒的全堆在可憐的POJO上很沒人道,如果三姑六婆都搶Transation這個Anontation就更慘了。
  四是XML處理關聯復雜,嵌套連連的時候,表達能力比annoation的強。
  可見,Annotation暫時是以輕量級框架最愛的身份出現的,大家都要根據自己項目的情況進行取捨。

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