Spring ioc及aop思想

 

Spring主要是由iocaop組成,ioc控制反轉在平時的java應用開發中,咱們要實現某一個功能或者說是完成某個業務邏輯時至少須要兩個或以上的對象來協做完成,在沒有使用Spring的時候,每一個對象在須要使用他的合做對象時,本身均要使用像new object() 這樣的語法來將合做對象建立出來,這個合做對象是由本身主動建立出來的,建立合做對象的主動權在本身手上,本身須要哪一個合做對象,就主動去建立,建立合做對象的主動權和建立時機是由本身把控的,而這樣就會使得對象間的耦合度高了,A對象須要使用合做對象B來共同完成一件事,A要使用B,那麼A就對B產生了依賴,也就是AB之間存在一種耦合關係,而且是緊密耦合在一塊兒,而使用了Spring以後就不同了,建立合做對象B的工做是由Spring來作的,Spring建立好B對象,而後存儲到一個容器裏面,當A對象須要使用B對象時,Spring就從存放對象的那個容器裏面取出A要使用的那個B對象,而後交給A對象使用,至於Spring是如何建立那個對象,以及何時建立好對象的,A對象不須要關心這些細節問題(你是何時生的,怎麼生出來的我可不關心,能幫我幹活就行)A獲得Spring給咱們的對象以後,兩我的一塊兒協做完成要完成的工做便可。java

  因此控制反轉IoC(Inversion of Control)是說建立對象的控制權進行轉移,之前建立對象的主動權和建立時機是由本身把控的,而如今這種權力轉移到第三方,好比轉移交給了IoC容器,它就是一個專門用來建立對象的工廠,你要什麼對象,它就給你什麼對象,有了 IoC容器,依賴關係就變了,原先的依賴關係就沒了,它們都依賴IoC容器了,經過IoC容器來創建它們之間的關係。編程

這是我對SpringIoC(控制反轉)的理解。DI(依賴注入)其實就是IOC的另一種說法,DI是由Martin Fowler 2004年初的一篇論文中首次提出的。他總結:控制的什麼被反轉了?就是:得到依賴對象的方式反轉了。spa

AOP切面編程,主要是將咱們共用的一些方法給切出來,而後在須要的地方調用,好比最多見的就是日誌,日誌的話用的就是aop切面編程的思想,先用日誌來講如圖:配置xml配置的話很簡單就是咱們切出去的類進行配置。插件

 

 

這個是在代碼中的應用!注:(這是日誌的,固然如今有了不少簡單方便的jar包或插件,好比lombok這個jar,你引用了這個jar的話裏面有一個@Slf4j註解使用這個註解的話就不用如上圖同樣了,只須要log.debug log.info 便可)。debug

下圖是一很是簡單的一個aop的實現,估計你們上學的時候都寫過,不清楚的話百度一下有代碼的:日誌

相關文章
相關標籤/搜索