將資料庫的操作程式碼從servlet中剝離,封裝到DAO中
工廠設計模式是所有設計模式中最簡單的設計模式!!!(就是通過工廠來建立一些物件)
工廠模式的典型應用場景:建立物件(當我們感覺到建立物件是件很痛苦的事,會用工廠模式)
工廠模式:簡單工廠,工廠方法,抽象工廠(要支援建立多個產品,定義一個抽象工廠,抽象工廠中有多個工廠方法,可以建立多個產品)
工廠方法:
抽象工廠:利用工廠方法實現抽象工廠
為了避免直接在servlet中看到操作資料庫的程式碼(直接在servlet中通過JDBC訪問資料庫),並且由於資料庫的不同,操作程式碼也不同,譬如分頁查詢的sql語句,mysql的可以:select * from t_article where title like '%"
實現方法為:建立一個介面ArticleDao
然後建立兩個實現了ArticleDao介面的類:ArticleDaoImpl(具體實現了操作MySQL資料庫的類)和ArticleDaoImplForOracle(具體實現了操作Oracle資料庫的類)。
HashMap是執行緒不安全的物件,而Hashtable<>是執行緒安全的物件。
(public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, java.io.Serializable {}
)
Properties extends Hashtable<Object,Object>繼承了Hashtable,它有更強大的功能,Properties 可以直接讀取檔案,而且可以將檔案中的鍵值對直接放到Map中來(Properties就是一個Map),呼叫Properties 的load方法(HashMap、Hashtable中沒有load方法),能夠
通常DAO是無狀態的。
Servlet不僅僅可以處理來自客戶端的請求,還可以利用他的init方法來做些我們想做的初始化工作。
任何一個請求servlet發到伺服器端,都會先呼叫servlet中的service
父類中的this是多型的,他是具體的子類物件,而不是父類物件。
Spring的主體思想就是DI(依賴注入)、IOC