Posted on 2007-04-05 09:23
dennis 閱讀(2690)
評論(0) 編輯 收藏 所屬分類:
源碼解讀
org.springframework.core.io包中主要是各樣的Resource類,Spring的
Resource
接口是為了提供更強的訪問底層資源能力的抽象。具體的用法參考spring reference。這個包的類圖非常簡單,已經有人畫的很清晰了,我直接拿過來,來自:
Spring代碼賞析:Resource類層次 
相當巧妙的地方在于,為何AbstractResource的子類有的override了getFile()而有的沒有?這是因為在AbstractResource的getFile()方法設計為拋出異常,如果子類沒有重寫此方法,說明子類不支持通過絕對路徑查找資源的方式,而override的子類則提供自己的實現。這里通過類的層次設計,充分利用繼承帶來的優點,避免了大量的條件語句。