posts - 60, comments - 116, trackbacks - 1, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          單獨使用Spring建立簡易開發框架(一)

          Posted on 2007-09-11 17:07 匪客 閱讀(2005) 評論(1)  編輯  收藏 所屬分類: 開發技術

          1. 前言

          此文檔講述的內容適合于對 Spring MVC 和數據持久層 ORM 概念有一定基礎的開發者,著重于講述基于 Spring 框架基礎之上進行 Java 開發的其中一種技術解決方案,而不是講述相關技術的原理,想要了解技術原理內容請參考相關文檔資料。
          ?
            現在,網絡上流傳的Spring+Struts+Hibernate用得非常火,幾乎成為很多對技術癡迷的人的技術架構標準,可是在我看來,也許是因為項目都不算大,人力也不夠多,這個技術架構太復雜了。從Spring本身來講,從MVC到數據操作,都可以不需要其他附加組件即可實現,并且結構清晰,使用簡單,功能還更加強大,本文講述的重點就是單獨使用Spring來建立一個簡易的開發框架。
          ?
            首先說,為什么選擇Spring呢?大概在2003年的時候,Struts已經開始流行了,但是在學習Struts的時候感覺這個技術框架比原始的JSP+JavaBean的方式復雜了很多,后來2004年做新項目時在論壇上看到推薦Spring,下載一試,上手非常的容易,結構也很清晰,支持的功能也非常多,所以決定用它了(其實那時候對于依賴注入和AOP代理還不甚了解,也很少用到接口)。

            在
          2001-2003年的時候都是自己封裝了JavaBean做為公共模塊來訪問數據庫的,后來ORM興起了,先是看了Hibernate的,3.0版還沒用出,還不支持存儲過程,因為那時候也做Delphi相關開發,用慣了SQL語句,始終覺得HQL這樣的東東增加了開發的復雜度和不可控制性,原生的復雜SQL語句無法使用,不喜歡。后來看到了iBATIS,經過試用,正是我所需要的,SQL語句配置簡單,基本不會破壞SQL語句的結構,這樣將SQL語句Copy到外部數據庫工具中進行調試也非常的方便,加上SQL語句可以使用很多的特定數據庫的函數,執行效率和簡潔性也非常好,修改了SQL又不需要重新編譯程序。

            
          有網友說Hibernate支持多個數據庫移值啊,我認為這個就不僅僅是SQL語句的問題了,還有很多其他方面的因素,大多數項目都可以不用考慮。又有網友說Hibernate對于數據庫結構修改的影響比較小,這種情況影響的也不僅僅是幾句代碼的問題,涉及到界面表現、業務流程等很多重要方面,相對說來修改代碼倒是小Case了。


            說完了上面的
          ORM 組件,再說說 JDBC Spring JdbcTemplate 將我們常用的 JDBC 流程封裝起來,使用非常簡單,一般執行的 SQL 就是一句話,構造 SQL 隨著業務的復雜而復雜,并且也支持 PrepareStatement 的執行模式避免 SQL 注入漏洞發生,同樣具備完整的數據操作功能如查詢、更新、存儲過程、異常捕捉等等,經過幾年的使用比較,我認為輕型的項目使用 JdbcTemplate 是非常不錯的選擇。

            由于能力所限,其中細節如有欠缺之處,請多多批評指正。

          2. 參考資料

          2 ? Spring 官方網站: http://www.springframework.org/

          2 ? Spring 2.0 中文參考手冊: http://spring.jactiongroup.net/

          2 ? Apache Jakarta 官方網站: http://jakarta.apache.org/

          2 ? JSTL 官方網站: http://java.sun.com/products/jsp/jstl/

          2 ? Intellij IDEA 官方網站: http://www.jetbrains.com/


          評論

          # re: 單獨使用Spring建立簡易開發框架(一)[未登錄]  回復  更多評論   

          2013-04-28 10:34 by tbw
          講得很好啊

          主站蜘蛛池模板: 大渡口区| 贞丰县| 乌鲁木齐县| 镇坪县| 都江堰市| 陈巴尔虎旗| 朝阳区| 林州市| 河源市| 开平市| 梁河县| 偏关县| 乾安县| 大名县| 灵武市| 陕西省| 泽库县| 新丰县| 罗定市| 崇明县| 乌兰浩特市| 讷河市| 博客| 石屏县| 和龙市| 泊头市| 长宁县| 周宁县| 万盛区| 宝应县| 桂东县| 酉阳| 沧州市| 保德县| 德化县| 宁陵县| 龙州县| 吴川市| 安仁县| 揭西县| 宝丰县|