Spring工作原理
一.IoC(Inversion of control): 控制反轉(zhuǎn)
IoC:
概念:控制權(quán)由對象本身轉(zhuǎn)向容器;由容器根據(jù)配置文件去創(chuàng)建實例并創(chuàng)建各個實例之間的依賴關(guān)系
核心:bean工廠;在Spring中,bean工廠創(chuàng)建的各個實例稱作bean
二.AOP(Aspect-Oriented Programming): 面向方面編程
1.代理的兩種方式:
靜態(tài)代理:
◆針對每個具體類分別編寫代理類;
◆針對一個接口編寫一個代理類;
動態(tài)代理:
針對一個方面編寫一個InvocationHandler,然后借用JDK反射包中的Proxy類為各種接口動態(tài)生成相應(yīng)的代理類
2.AOP的主要原理:動態(tài)代理
Spring工作原理
Spring 已經(jīng)用過一段時間了,感覺Spring是個很不錯的框架。內(nèi)部最核心的就是IOC了,動態(tài)注入,讓一個對象的創(chuàng)建不用new了,可以自動的生產(chǎn),這其實就是利用java里的反射,反射其實就是在運行時動態(tài)的去創(chuàng)建、調(diào)用對象,Spring就是在運行時,跟xml Spring的配置
文件來動態(tài)的創(chuàng)建對象,和調(diào)用對象里的方法的 。
Spring工作原理還有一個核心就是AOP這個就是面向切面編程,可以為某一類對象 進行監(jiān)督和控制(也就是在調(diào)用這類對象的具體方法的前后去調(diào)用你指定的 模塊)從而達到對一個模塊擴充的功能。這些都是通過配置類達到的。
Spring目的:就是讓對象與對象(模塊與模塊)之間的關(guān)系沒有通過代碼來關(guān)聯(lián),都是通過配置類說明
管理的(Spring根據(jù)這些配置 內(nèi)部通過反射去動態(tài)的組裝對象)要記?。篠pring是一個容器,凡是在容器里的對象才會有Spring所提供的這些服務(wù)和功能。Spring里用的最經(jīng)典的一個設(shè)計模式就是:模板方法模式。(這里我都不介紹了,是一個很常用的設(shè)計模式)
Spring工作原理里的配置是很多的,很難都記住,但是Spring里的精華也無非就是以上的兩點,把以上兩點跟理解了
也就基本上掌握了Spring.
【編輯推薦】