spring的工做原理
1、 IoC(Inversion of control): 控制反轉
一、IoC:
概念:控制權由對象自己轉向容器;由容器根據配置文件去建立實例並建立各個實例之間的依賴關係 核心:bean工廠;在Spring中,bean工廠建立的各個實例稱做bean
2、AOP(Aspect-Oriented Programming):
面向方面編程 (其實個人理解是,經過配置文件來實現模塊和模塊,對象和對象的分離。)
一、 代理的兩種方式: 靜態代理: 針對每一個具體類分別編寫代理類; 針對一個接口編寫一個代理類; 動態代理: 針對一個方面編寫一個InvocationHandler,而後借用JDK反射包中的Proxy類爲各類接口動態生成相應的代理類
二、 AOP的主要原理:動態代理
Spring工做原理
Spring 已經用段時間,感受Spring是個很不錯的框架。內部最核心的就是IOC了, 動態注入,讓一個對象的建立不用new了,能夠自動的生產,這其實就是利用java裏的反射 反射其實就是在運行時動態的去建立、調用對象,Spring就是在運行時,跟xml Spring的配置 文件來動態的建立對象,和調用對象裏的方法的 。
Spring還有一個核心就是AOP這個就是面向切面編程,能夠爲某一類對象 進行監督和控制(也就是 在調用這類對象的具體方法的先後去調用你指定的模塊)
從而達到對一個模塊擴充的功能。這些都是經過 配置類達到的。
Spring目的:就是讓對象與對象(模塊與模塊)之間的關係沒有經過代碼來關聯,都是經過配置類說明 管理的(Spring根據這些配置 內部經過反射去動態的組裝對象)
切記:Spring是一個容器,凡是在容器裏的對象纔會有Spring所提供的這些服務和功能。
Spring裏用的最經典的一個設計模式就是:模板方法模式。java