1 回答

TA貢獻2037條經驗 獲得超6個贊
IOC控制反轉/DI依賴注入
控制反轉就是應用本身(Action)不負責依賴對象(Dao)的創建及維護,依賴對象的創建及
維護是由外部容器(BeanFactory)負責的。這樣控制權就由應用轉移到了外部容器,控制
權的轉移就是所謂反轉。
依賴注入就是指:在運行期,由外部容器(BeanFactory)動態地將依賴對象(Dao)注入到
組件(Action)中。
1)依賴注入的方式
DI(Dependency injection 依賴注入)是IoC實現的重要技術,有如下2種方式:
a,setter方式注入
b,構造方式注入
2)IoC和DI的關系
IoC全稱Inverse of Control(反向控制或控制反轉)
Spring是具有IoC特性的框架。
實現IoC是由Spring容器來完成的,Spring容器通過DI建立起對象(組件、Bean)之
間的關系。
可以這樣理解:DI是IoC實現的一種手段,IoC的理論通過DI來實現。
DI用來管理對象(組件、Bean),不用你自己一個個new
AOP中的一些概念
a,切面(aspect):跟類很相似,切面就是通知(Advice)的集合
b,目標對象:要使用Advice操作的方法(異常)的對象
c,連接點(Joinpoint):被攔截到的點,點指的是調用某方法或處理某異常
d,切入點(PointCut):匹配一系列連接點的集合的斷言(表達式),是一個表達式,
指明處理方法(Advice)將在何時觸發。
e,通知(Advice):攔截到JoinPoint之后要做的事(比如logger())
f,前置通知(Before Advice):在某連接點之前的通知(連接點方法執行之前,做的事)
g,后置通知(After returning Advice):某連接點正常完成以后執行的通知
h,最終通知(after finally Advice):最后執行的操作
AOP用來做日志、聲明式事物管理等另外:
Aop的實現
1)目標對象如果實現接口:
spring會在底層使用jdk動態代理,spring以jdk動態代理為主(jdk實現的)
2)目標對象如果沒有實現任何接口
spring需要依賴第3方
cglib-nodep-2.1_3.jar來實現,使用的是cglib動態代理
- 1 回答
- 0 關注
- 1351 瀏覽
添加回答
舉報