Spring架構詳解之Ioc容器的擴充套件點

2021-07-28 16:04:22 字數 881 閱讀 4198

現在還有乙個問題就是如何讓這些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,它可是乙個神奇的球模。這個球模不是預先就定型了,而是由你來給他確定它的形狀,既然你可以確定這個球模型的形狀,當然他造出來的球肯定就是你想要的球了,這樣在這個箱子裡就可以發現所有你想要的球了。

spring之IOC詳解三

spring之ioc詳解三註解注入 指定乙個包路徑,spring會自動掃瞄該包及其子包所有元件 類,當發現元件類定義前有特定的註解標記時,就將該元件納 入到spring容器。等價於原有xml配置中的定義功能。元件掃瞄可以替代大量xml配置的定義。step1,在配置檔案當中,新增 讓容器掃瞄指定的包及...

Spring中IOC和AOP詳解

我們是在使用spring框架的過程中,其實就是為了使用ioc容器 依賴注入,和aop 面向切面程式設計,這兩個是spring的靈魂。主要用到的設計模式有工廠模式和 模式。ioc就是典型的工廠模式,通過sessionfactory去注入例項。aop就是典型的 模式的體現。在傳統的程式設計中,當呼叫者需...

spring 之 ioc 依賴注入

關於bean的名稱,這裡有條預設的規則,就是類的名稱,然後第乙個字母小寫 依賴注入 xml方式 通過setter方法注入依賴 元素的 property 子元素指明了使用它們的set方法來注入。可以注入任何東西,從基本型別到集合類,甚至是應用系統的bean。這種方式的缺點是你無法在其它地方重用這個pe...