轉帖|行業資訊|編輯:郝浩|2016-02-25 10:49:52.000|閱讀 844 次
概述:本篇講解了Ioc容器的擴展點,并對Ioc容器的模型進行了類比,方便對其進行了解。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
現在還有一個問題就是如何讓這些Bean對象有一定的擴展性,就是可以加入用戶的一些操作。那么有哪些擴展點呢?Spring又是如何調用到這些擴展點的?
對Spring的Ioc容器來說,主要有這么幾個。BeanFactoryPostProcessor,BeanPostProcessor。他們分別是在構建BeanFactory和構建Bean對象時調用。還有就是InitializingBean和DisposableBean 他們分別是在Bean實例創建和銷毀時被調用。用戶可以實現這些接口中定義的方法,Spring就會在適當的時候調用他們。還有一個是FactoryBean他是個特殊的Bean,這個Bean可以被用戶更多的控制。
這些擴展點通常也是我們使用Spring來完成我們特定任務的地方,如何精通Spring就看你有沒有掌握好Spring有哪些擴展點,并且如何使用他們,要知道如何使用他們就必須了解他們內在的機理。可以用下面一個比喻來解釋。
我們把Ioc容器比作一個箱子,這個箱子里有若干個球的模子,可以用這些模子來造很多種不同的球,還有一個造這些球模的機器,這個機器可以產生球模。那么他們的對應關系就是BeanFactory就是 那個造球模的機器,球模就是Bean,而球模造出來的球就是Bean的實例。那前面所說的幾個擴展點又在什么地方呢?BeanFactoryPostProcessor對應到當造球模被造出來時,你將有機會可以對其做出設 當的修正,也就是他可以幫你修改球模。而InitializingBean和DisposableBean是在球模造球的開始和結束階段,你可以完成一些預備和掃尾工作。BeanPostProcessor就可以讓你對球模造出來的球做出 適當的修正。最后還有一個FactoryBean,它可是一個神奇的球模。這個球模不是預先就定型了,而是由你來給他確定它的形狀,既然你可以確定這個球模型的形狀,當然他造出來的球肯定就是你想要的球了,這樣在這個箱子里就可以發現所有你想要的球了。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn