spring的核心目的是為了簡化**的開發。為此,spring給出了以下幾種策略。
1.模板。對於那些經常需要重複編寫的**,spring給出了模板化解決方案。比如資料庫訪問的**,除了對結果集的處理方式會變化,其他部分的**基本不會有變化,因此spring提供了乙個模板類,用來避免編寫重複部分的**。
在呼叫模板類的方法時,我們只需要提供sql和乙個匿名類物件作為引數即可。
這個匿名類需要實現spring框架的乙個介面,這個介面的引數是resultset。這個實現方法只需定義資料庫返回結果集的處理方式,而不需要編寫那些固定和重複的**,如建立連線、關閉連線等相關的**。
我猜測模板類的**大致為:其也是乙個普通的jdbc實現,只是將我們一般的jdbc**中的resultset的處理**,替換為對匿名物件方法的呼叫而已。
並且對於模板類的方法而言,他接收到的引數只是乙個sql和乙個普通物件而已,而不再是乙個匿名類物件。
執行過程:
模板物件會建立資料庫連線。
模板物件會根據引數sql查詢資料庫,得到結果集。
然後呼叫匿名物件的實現方法,以得到的結果集為引數。
在finally塊中關閉資料庫連線。
spring主要內容之AOP
前兩篇文章講了為了簡化 開發和鬆散耦合,spring分別使用了模板技術和依賴注入技術。這一篇再說下第三種技術,就是面向切面程式設計,簡稱aop。在程式設計中,存在著一些分散在系統各處的零散操作,比如日誌 事務 安全等。面向切面程式設計是把這些分散於系統各處的零散的操作摘出來,交給spring框架去處...
1 6 主要內容
本書的主要內容包括三個主要部分,分為程式設計技術 核心分析和專案例項。這些內容合為一體,讀者可以學習到在moblin上進行應用軟體開發的技能,最終目標是開發乙個moblin作業系統發行版。程式設計技術以c語言為基礎,除了簡單講解語法以外,主要是介紹在moblin系統中真正廣泛使用的gobject程式...
1 主要內容
pyqt5 基本視窗控制項 qmainwindow,qwidget,qlabel,qlineedit,等 pyqt5高階元件 qtableview,qlistview,容器,多執行緒等 pyqt5布局管理 qboxlayout,qgridlayout,qformlayout,巢狀布局等 pyqt5訊...