spring怎麼建立介面 spring介面怎麼寫
- 綜合知識
- 關注:1.93W次
不管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 配置源強關聯在一起權來,一旦你更改配置源,那麼所有的程式碼都要改動;。
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/p584l3.html