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