国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

開源有益——愛上Spring的5個理由

2019-11-18 13:00:10
字體:
來源:轉載
供稿:網友

  約摸15年前的6月的一個酷熱的早上,我爬入一艘舊玻璃鋼制小艇。這小艇十分老,船身碎片刺入我的手指,它的槳幾乎是傳統whitewate槳的兩倍長。我似乎在游泳而不是在劃船,但是無所謂。15年后,我依然為此著迷。
  
  約兩年前,我試了試SPRing Project,這個被Hibernate站點顯著提到的東西。感覺就像那舊艇,十分適合我。為企業應用核心部分的發展,Spring深深地融入了我的編程當中,所以我將其作為我的第4本java書 Spring:A Developer’s Notebook的主題。在這篇文章中我會告訴你原因。
  
  1.Spring提供更好的平衡
  
  在河中,我學會更多地利用我的腰部和背部的肌肉來劃船,因為我的手臂肌肉無法堅持整天劃船。我變得更有效率,更平衡地利用自己的肌肉。通過spring,我可以在每行代碼中做更多的事。通過spring你會發現更多其優勢,其中最重要的是在對象持久化上。這是一個來自hibernate訪問數據對象的函數。
  
  public List getReservations( ) { return getHibernateTemplate( ).find("from Reservation");}
  
  注重那些你沒看到的東西。這里沒有任何事務處理。Spring答應你建立配置代碼去處理它。你不一定要通過關閉session來治理資源。你不一定寫你自己的配置。你不一定在這個層次上治理異常,因為這些異常是未經檢查的。你可以自由地在最適當的位置去治理他們。沒用spring的hibernate方法的代碼會是這樣的:
  
  public List getBikesOldWay( ) throws Exception { List bikes = null;
  Session s = null;
  try {  s = mySessionFactory.openSession( );
  bikes = s.find("from Bike");
  }catch (Exception ex) {  //handle exception gracefully }finally {  s.close( );
  } return bikes;}
  
  Spring給我更多優勢,讓我編程更快,更易維護程序。
  
  2.Spring支持POJO編程
  
  在EJB 2.x徹底失敗之后,我們都在尋找更多方式避免在每個bean中加入粗笨的模型去表達企業服務。當然。我們需要事務,安全,持久化,有時還需要遠程調用。用EJB時,我不得不去學龐大的API以及通過新的工具和部署過程來工作。結果我變成容器(container)提供的服務的奴隸。而在用Spring時,我可以選擇我自己的服務和持久化框架。我在POJOs上編程并通過配置文件添加企業服務。
  
  在Sping:A Developer’s notebook這本書中,我建立了一個RentaBike的程序。我用我的POJOhibRentaBike取代了session bean 或者entity bean,它充當了我的數據訪問對象。我還在別處添加了服務。Spring配置文件是一個xml文件,被稱為上下文。它含有在容器中的所有bean以及這些bean的屬性,還有這些bean需要的服務。讓我們來看看下面的例子。
  
  Target:
  
  
  BrUCe's Bikes
  

  
  
  

  
  
  

  
  Interceptor:
    class="org.springframework.transaction.interceptor.TransactionInterceptor">
  
  
  

  
  
  com.springbook.RentABike.transferReservation=
  PROPAGATION_REQUIRED,-ReservationTransferException
  com.springbook.RentABike.save*=PROPAGATION_REQUIRED
  com.springbook.RentABike.*=PROPAGATION_REQUIRED,readOnly
  

  

  
  proxy:
     com.springbook.RentABike    transactionInterceptor,rentaBikeTarget 
  
  注重這3個不同的bean: The Proxy , The target, and The interceptors. The proxy將調用POJO,以及POJO需要的任何服務。Interceptors包含粘合各調用服務的代碼,他們也說明了如何去對待The target中的每個方法。所有需要訪問RantaBike的人調用The proxy,這個開始事務訪問The target(The POJO)的事務攔截器。Thet target做自己的事返回給事務攔截器(提交事務的對象),返回到proxy和proxy的調用者。
  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安多县| 黔江区| 樟树市| 伽师县| 应用必备| 衡水市| 来安县| 土默特右旗| 集贤县| 中宁县| 祁门县| 长寿区| 赤壁市| 公安县| 新竹县| 灵武市| 天柱县| 绿春县| 谷城县| 女性| 台江县| 霍州市| 威远县| 琼中| 明光市| 安义县| 常宁市| 五峰| 凤城市| 阳信县| 龙口市| 饶平县| 黑水县| 揭东县| 桐庐县| 昭通市| 肥乡县| 肇东市| 桃江县| 罗田县| 鹤山市|