不管draw裏面是怎樣的,Main類裏就是這樣用,
那麼你就從這個接口出發,裏面怎麼實現是D類的事了,Main類只關心怎麼用而已.
其他類要使用它,還是相同
這就大大減少了維護的成本.
因爲如果D類出問題,Main類是完全不用改變的.
從上觀察,公開的接口越多,維護成本就越大.
維護就越麻煩.所以我們先寫接口,定死了公開的接口,
那維護就很方便,出錯也只是一個類的事,而不用同時修改多個協同類
2.spring 爲什麼要先寫接口,再寫實現類首先你要理解OOP的思想,是面向接口編程.
什麼叫面向接口編程呢?
假如你買了一個多媒體設備,它給了你一個遙控,你想要知道的只是按什麼按鈕,它會播放什麼
而遙控裏面是怎樣執行,還有屏幕裏面怎麼工作,你想知道嗎?
你完全不會去想了解.
那如果多媒體設備需要更新,比如優化內部執行效率,
但是優化完了,遙控的按鈕不變,設備的所有操作方式都不變,按這個按鈕還是顯示相同的東西
那內部怎麼變化你完全不需要在意.
這就是面向接口編程.
無論類的內部怎麼實現,它對外的接口不變,那它的使用方式就不會變
假設Main類要使用D類的一個draw的方法,
方法名叫 draw():void
不管draw裏面是怎樣的,Main類裏就是這樣用,
那麼你就從這個接口出發,裏面怎麼實現是D類的事了,Main類只關心怎麼用而已.
其他類要使用它,還是相同
這就大大減少了維護的成本.
因爲如果D類出問題,Main類是完全不用改變的.
從上觀察,公開的接口越多,維護成本就越大.
維護就越麻煩.所以我們先寫接口,定死了公開的接口,
那維護就很方便,出錯也只是一個類的事,而不用同時修改多個協同類
3.用Spring+SpringMVC+Mybatis開發的項目,現在要給手機客戶端寫@ResponseBody
@RequestMapping("/getUser")
public String getUser(@RequestParams int userId){
User u = new User();
。。。。..
return Json.toString(u);
}
//這裏用了阿里巴巴的fastjson包,相關的例子可以在百度中找到。希望對你有所幫助。
4.Spring核心接口是1.BeanFactory最基礎最核心的接口重要的實現類有:XmlBeanFactory,以及ApplicationContext接口下的類2.Resource接口,可以通用地訪問檔案資源1)ClassPathResource:讀取得形式爲"classpath:ApplicationContext.xml"2)FileStstemResource:讀取得形式爲"file:c:springsrcApplicationContext.xml"3):讀取得形式爲"WEB-INFApplicationContext.xml"//ResourceLoader類用於載入Resource3.FactoryBean工廠bean它本身在bean factory中定義,同時又是用於創建目標bean的工廠spring有以下實現:1)JndiObjectFactoryBean:透過JNDI查找獲取對象2):用於在本地裝配Hibernate SessionFactory3):用於在本地裝配JDO )ProxyFactoryBean:用於獲取AOP的代理5):用於爲對象創建事務代理,用於實現簡捷易用的聲明性事務代理6)RmiProxyFactoryBean:爲透過RMI訪問的遠程對象創建一個代理4.ApplicationContext加強了BeanFactory的功能,支援以下功能1)國際化支援2)資源訪問3)事件監聽機制它的重要的實現類有:,,.Bean生命週期的回調接口,InitializingBean,DisposableBean,BeanFactoryAware,,ResourceLoader,BeanPostProcessor6.MessageSource接口它的實現類有,.後者在屬性檔案修改後會重新載入如果喜歡共同談論, 加msn :[email protected]。
5.Spring核心接口是1.BeanFactory最基礎最核心的接口
重要的實現類有:
XmlBeanFactory,以及ApplicationContext接口下的類
2.Resource接口,可以通用地訪問檔案資源
1)ClassPathResource:讀取得形式爲"classpath:ApplicationContext.xml"
2)FileStstemResource:讀取得形式爲"file:c:springsrcApplicationContext.xml"
3):讀取得形式爲"WEB-INFApplicationContext.xml"
//ResourceLoader類用於載入Resource
3.FactoryBean工廠bean
它本身在bean factory中定義,同時又是用於創建目標bean的工廠
spring有以下實現:
1)JndiObjectFactoryBean:透過JNDI查找獲取對象
2):用於在本地裝配Hibernate SessionFactory
3):用於在本地裝配JDO
4)ProxyFactoryBean:用於獲取AOP的代理
5):用於爲對象創建事務代理,用於實現簡捷易用的聲明性事務代理
6)RmiProxyFactoryBean:爲透過RMI訪問的遠程對象創建一個代理
4.ApplicationContext加強了BeanFactory的功能,支援以下功能
1)國際化支援
2)資源訪問
3)事件監聽機制
它的重要的實現類有:
,,
5.Bean生命週期的回調接口
,InitializingBean,DisposableBean,BeanFactoryAware,,ResourceLoader,BeanPostProcessor
6.MessageSource接口
它的實現類有,.後者在屬性檔案修改後會重新載入
如果喜歡共同談論, 加msn :[email protected]
6.spring關於調用接口和方法面向接口編程,ApplicationContext接口對容器的功能進行了抽zhidao象,透過它編寫代碼不用關心實際上的實現類是誰,所以第一行代碼你可以版換成:applicationContext context = new (。
);applicationContext context = new (。);。
.之後的代碼都不用替換就能夠正常執行,但是如果你一開始用的就是,,那麼抱歉你的代碼和spring 配置源強關聯在一起權來,一旦你更改配置源,那麼所有的代碼都要改動;。