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

          1. 前言

          此文檔講述的內(nèi)容適合于對(duì) Spring MVC 和數(shù)據(jù)持久層 ORM 概念有一定基礎(chǔ)的開發(fā)者,著重于講述基于 Spring 框架基礎(chǔ)之上進(jìn)行 Java 開發(fā)的其中一種技術(shù)解決方案,而不是講述相關(guān)技術(shù)的原理,想要了解技術(shù)原理內(nèi)容請(qǐng)參考相關(guān)文檔資料。
          ?
            現(xiàn)在,網(wǎng)絡(luò)上流傳的Spring+Struts+Hibernate用得非常火,幾乎成為很多對(duì)技術(shù)癡迷的人的技術(shù)架構(gòu)標(biāo)準(zhǔn),可是在我看來,也許是因?yàn)轫?xiàng)目都不算大,人力也不夠多,這個(gè)技術(shù)架構(gòu)太復(fù)雜了。從Spring本身來講,從MVC到數(shù)據(jù)操作,都可以不需要其他附加組件即可實(shí)現(xiàn),并且結(jié)構(gòu)清晰,使用簡單,功能還更加強(qiáng)大,本文講述的重點(diǎn)就是單獨(dú)使用Spring來建立一個(gè)簡易的開發(fā)框架。
          ?
            首先說,為什么選擇Spring呢?大概在2003年的時(shí)候,Struts已經(jīng)開始流行了,但是在學(xué)習(xí)Struts的時(shí)候感覺這個(gè)技術(shù)框架比原始的JSP+JavaBean的方式復(fù)雜了很多,后來2004年做新項(xiàng)目時(shí)在論壇上看到推薦Spring,下載一試,上手非常的容易,結(jié)構(gòu)也很清晰,支持的功能也非常多,所以決定用它了(其實(shí)那時(shí)候?qū)τ谝蕾囎⑷牒?/span>AOP代理還不甚了解,也很少用到接口)。

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

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


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

            由于能力所限,其中細(xì)節(jié)如有欠缺之處,請(qǐng)多多批評(píng)指正。

          2. 參考資料

          2 ? Spring 官方網(wǎng)站: http://www.springframework.org/

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

          2 ? Apache Jakarta 官方網(wǎng)站: http://jakarta.apache.org/

          2 ? JSTL 官方網(wǎng)站: http://java.sun.com/products/jsp/jstl/

          2 ? Intellij IDEA 官方網(wǎng)站: http://www.jetbrains.com/


          評(píng)論

          # re: 單獨(dú)使用Spring建立簡易開發(fā)框架(一)[未登錄]  回復(fù)  更多評(píng)論   

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

          51La
          主站蜘蛛池模板: 桃园县| 青州市| 盐池县| 虹口区| 江城| 永德县| 扎赉特旗| 永修县| 增城市| 尚义县| 温州市| 天柱县| 黄大仙区| 甘孜县| 青龙| 华亭县| 黎城县| 安徽省| 佛教| 宁城县| 鹿泉市| 深泽县| 云阳县| 微山县| 尤溪县| 乳源| 赣州市| 开化县| 伊宁县| 云梦县| 天柱县| 襄城县| 天全县| 根河市| 广东省| 龙川县| 尉犁县| 黄大仙区| 巴彦淖尔市| 宜丰县| 师宗县|