spring ioc 和 aop-----一些小結

話說,學習spring也快大半年了,寫業務層代碼也寫了半年之久了,對於spring中的一些核心技術如今仍是似懂非懂的,非常糾結啊。。。java

最近一直看別人寫的對於這一塊的理解,因而乎,我有點懂了。spring

首先來談談什麼是Ioc(Inversion of controler,控制反轉)編程

基本的java思想:Java程序中的每一個業務邏輯至少須要兩個或者以上的對象來協做完成、一般,每個對象在使用他的合做對象的時候,本身均要使用像new.object()這樣的語句來完成合做對象的申請。這樣對象之間的耦合度很高。學習

而Ioc的思想是:spring容器來實現這些相互依賴對象的建立,協調工做。對象只須要關係業務邏輯自己就能夠了。這樣的話,對象如何獲得他的合做對象的責任就被反轉了。spa

Ioc的一個重點是在系統運行中,動態的向某個對象提供他們所須要的對象。這一點是經過DI(dependency injection,依賴注入);來實現的。代理

對於實現依賴注入,就須要用到java1.4以後的的新特性-反射(reflection),他容許程序在運行的時候動態的生成對象,執行對象的方法,改變對象的屬性,spring正是經過這一特性來實現注入的。對象


再來看看AOP(Aspect Oriented Programing)-面向切面編程呢?get

首先看看學習AOP以前須要瞭解的術語io

  • 鏈接點(jointPoint)容器

  • 切點(pointCut)

  • 加強(advice)

  • 目標對象(target)

  • 引介(introduction)

  • 代理(proxy)

  • 切面(aspect)

AOP的實現者

  • AspectJ

  • AspectWerkz

  • JBoss AOP

  • spring AOP

相關文章
相關標籤/搜索