跳到主要內容

臺灣博碩士論文加值系統

(18.97.14.91) 您好!臺灣時間:2024/12/10 07:12
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:王振祥
研究生(外文):Jenh-Siang Wang
論文名稱:使用Spring架構存取資料庫之研究與實作
論文名稱(外文):Reconfigurable Database Access using Spring Framework
指導教授:留忠賢留忠賢引用關係
指導教授(外文):Chung-Shyan Liu
學位類別:碩士
校院名稱:中原大學
系所名稱:資訊工程研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2006
畢業學年度:94
語文別:中文
論文頁數:43
中文關鍵詞:DISpringIoC
外文關鍵詞:DIIoCSpring
相關次數:
  • 被引用被引用:0
  • 點閱點閱:593
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:2
在開發web-based應用系統時,必須對資料庫作存取。但在一大型 web-based應用系統中,這些存取資料庫的程式會有許多重複出現的狀況。如為了提可再使用性及系統的可維護性,因此有必要將系統的資料庫存取程式和商業邏輯程式作分離。
我們使用Data Access Object (DAO)這種模式,然後配合Spring Framework的IoC/DI的概念,動態注入物件間的關係,提升DAO程式的可再使用性。我們以一個實際軟體專案為範例,經重整後,當資料庫存取改變而需修改許多Web程式內的相同SQL語法時,我們只需修改一個地方,這樣系統日後易於維護。
We must access the database when developing a web-based application system. But in a large-scale web-based application system, the programs for database access are usually duplicated. In order to enhance the reusability and maintainability of a system, it is necessary to separate the database access from business logic.
The data access object (DAO) pattern was used for this purpose. This pattern was then adapted to the Spring framework, which is an IoC/DI framework that dynamically injects the relationship among objects. This will enhance the reusability of DAO programs. A real software project was used as an example. After refactoring, we only need to change one SQL statement programs when same pattern of database access is changed. The system is thus easier to maintain.
目錄
中文摘要 I
ABSTRACT II
致謝 III
目錄 IV
圖形目錄 V
第一章 簡介 1
1.1研究動機與目的 1
1.2論文章節概述 3
第二章背景知識介紹 4
2.1 SPRING簡介 4
2.1.1 SPRING由來 4
2.1.2 SPRING分層結構 8
2.2 SPRING FRAMEWORK 10
2.2.1 IoC/DI簡介 10
2.2.2 SPRING DAO簡介 16
第三章 架構設計 18
3.1 架構設計的理念 18
3.2 重整 19
3.2.1 重整的地方 19
3.2.2 重整的方法 22
第四章 實作開發 25
4.1 重整步驟 25
4.2 重整後的好處 31
4.3 與HIBERNATE的比較 32
第五章 結果與效能評估 34
第六章 結論與未來展望 36
參考文獻 37
作者簡介 39

圖形目錄
圖1 logging動作Cross-cutting於程式上 7
圖2 Cross-cutting concern 示意圖 7
圖3 Spring 架構的 7 個模組 8
圖4 GradeLister程式碼片段 10
圖5 GradeFinder interface程式碼片段 10
圖6 GradeFinderText 程式碼片段 11
圖7 GradeFinderSQL 程式碼片段 11
圖8 當GradeLister使用到GradeFinderText 程式碼片段 12
圖9 在GradeLister類中直接創建GradeFinder時的依賴關係 12
圖10 引入依賴注入器之後的依賴關係 13
圖11 使用DI觀念時, 在GradeLister的設定 14
圖12 使用DI觀念時, 在Spring的XML設定 15
圖13 簡易的IObjectDAO interface 16
圖14 實作IObjectDAO interface的 ObjectDAO類別 17
圖15 DAO運作示意圖 17
圖16 SR330500P頁面 19
圖17 SR420740P頁面 20
圖18 SR330500P內撈取欄位的程式碼 20
圖19 SR420740P內撈取欄位的程式碼 21
圖20 DAO的流程圖 22
圖21 實作interface的類別內的設計 23
圖22 beans-config.xml的內容 24
圖23 要在struts中使用spring時, 在struts-config.xml的設定 25
圖24 修改前和修改後struts-config.xml的改變 26
圖25 Spring的設定檔和struts的設定檔部份 27
圖26 設計用來儲存資料的類別 28
圖27 ISrpCapitalM interface 28
圖28 實作ISrpCapitalM interface的SrpCapitalM類別 29
圖29 在Spring的beans-config.xml中給值的方式 29
圖30 要用建立好的程式時, 在Action和beans-config.xml的設定 30
圖31 beans-config.xml中設定使用SrpModelClassData 31
圖32 table scheme改變時, DAO要修改的檔案 32
圖33 table scheme改變時, HIBERNATE要修改的檔案 33
圖34 用來計算撈取資料時間的程式碼片段 35
表一 重整前後程式大小比較 34
表二 重整前後讀取資料庫的速度比較 34
參考文獻
[1] Rod Johnson and Juergen Hoeller, “Expert One-on-One J2EE Development without EJB”, Wiley, Inc., July 2004.
[2] Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier and John Irwin, “Aspect-Oriented Programming”, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP),
Finland, Springer-Verlag LNCS 1241, June 1997.
[3] Walter Hursch and Cristina Videira Lopes, “Separation of
Concerns”, Northeastern University Technical Report, No. NU-CCS-95-03, 1995.
[4] 林信良著, “Spring 技術手冊” , ��峯出版社, 2006.
[5] Martin Fowler, Ken Beck, John Brant, William Opdyke and Don Roberts著, 侯捷, 熊節 譯, “重構-改善既有程式的設計”, ��峯出版社, 2003.
[6] Martin Fowler, “ Inversion of Control Containers and the Dependency Injection pattern”, http://www.martinfowler.com/
articles/injection.html.
[7] Spring Framework, http://www.springframework.org/.
[8] 中國IT實驗室, http://www.chinaitlab.com/www/techspecial/ spring/.
[9] IBM, http://www-128.ibm.com/developerworks/tw/library/ wa-spring1/.
[10] Koji Lin, “Hibernate入門”, http://www.javaworld.com.tw/
confluence/pages/viewpage.action?pageId=833.
[11] Sun Microsystems, Core J2EE Pattern Catalog, http://java.sun.com/blueprints/corej2eepatterns/Patterns/ DataAccessObject.html.
電子全文 電子全文(本篇電子全文限研究生所屬學校校內系統及IP範圍內開放)
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top