春天里,百花香...
SSH
Struts1,Spring,Hibernate
摘要: 在基于Model2的應用中,控制層的類總會包含對業務層諸類的調用,業務層諸類不可避免的要產生各種異常,如果統一到控制層進行處理的話會導致代碼變得龐大臃腫還有不少重復,這種的例子在Web應用中的Servlet和Action諸類中并不少見。
如果我們使用模板方法模式(Template Method Pattern)將業務處理和異常處理分開,能有效簡化控制層諸類的代碼,借用這種模式,我們可以把固定的異常處理代碼放在基類中,而讓子類來實現具體的業務,如果執行業務過程中出現異常如數據庫無法連接,用戶找不到等異常后,直接將異常拋出讓基類來處理,這樣做成功的把業務處理和異常處理分開到了子類和基類兩種類中,涉及具體業務處理的子類代碼得到了很大的簡化,更方便閱讀,修改和管理。
有點疑惑的是,現在還不確定這樣做會有什么消極印象,如安全性或結構方面的,大家要是覺得有問題請不吝賜教。
閱讀全文
摘要: 一般來說涉及數據庫的應用中,表的主鍵有兩種生成方案,一種是專門定義一個主鍵表,在其中放置一個自增長的字段為其它表提供主鍵;另一種是使用Oracle的sequence。這兩種方案都有一定麻煩,Spring為此專門提供了一個ID增長器以簡化具體步驟,下文就是它的相關使用方法的,使用的數據庫是MySql5.
歸納
使用Spring的自增長ID生成器完成以下三步即可:
1)配置自增長id生成器,它需要一個數據源的支持。
2)根據配置將自增長id生成器注入DAO各類中。
3)使用nextStringValue,nextIntValue,nextLongValue方法得到ID。
閱讀全文
摘要: Spring的AOP支持可以被用于從系統核心邏輯中分離交叉業務(cross-business)如日志,事務管理和安全等,使用AOP,你可以用各種功能層來覆蓋核心業務層,這些功能層可以靈活的應用到你的系統中,甚至核心業務層都不知道它們的存在,這是一個強大的概念。
AOP(aspect-oriented programming)的核心就是動態代理,掌握它對于理解AOP尤為重要,猶如反射對理解IoC一樣。
閱讀全文
摘要: Struts中,ActionServlet作為總控Servlet接受請求并轉發到各Action,它的原理并不復雜,本文即展示了ActionServlet模擬實現過程。
閱讀全文
sitinspring(http://www.aygfsteel.com)原創,轉載請注明出處.