天天看點

Spring基礎

說起spring離不開ioc和aop

ioc 解決的是對象管理和對象依賴的問題

之前是我們自己手動new出來的對象,現在則把對象交給spring的ioc容器管理。

ioc容器可以了解為一個對象工廠,我們都把該對象交給工廠,工廠管理這些對象的建立和依賴關系。等我們需要用對象時,直接從工廠裡擷取。

ioc還有兩個非常重要的概念

控制反轉

依賴注入

我認為控制反轉指的就是把原有自己掌握的事交給别人去處理,它更多地是一種思想,或者可以了解為設計模式,比如本來由我們自己new出來的對象,現在交由ioc容器,把對象的控制權交給第三方了。

而依賴注入 在我的了解下 他其實就是控制反轉思想的具體落地實作方式,對象無需自行建立或者管理它的依賴關系,依賴關系将被自動注入到需要他們的對象裡去。

将對象集中統一管理

降低耦合度

其實也就是工廠模式的好處

面向切面程式設計,是對面向對象的進一步了解,他解決的是非業務代碼抽取的問題。

aop底層的技術是動态代理,再sping内實作以來的是beanpostprocessor(存疑)

比如我們需要在方法上注入些重複性的非業務代碼,就可以利用springaop 但在實際的生産環境中,還沒有遇到具體的應用。