方便解耦,簡化開發;
通過spring提供的
ioc容器,可以將物件間的依賴關係交由
spring
進行控制,避免硬編碼所造成的過度程式耦合。使用者也不必再為單例模式類、屬性檔案解析等這些很底層的需求編寫**,可以更專注於上層的應用。
依賴注入的概念
它是spring
框架核心
ioc的具體實現方式。簡單的說,就是坐等框架把物件傳入,而不用我們自己去獲取。從此,當我們需要用到乙個物件時,只需從從spring容器中獲取即可(前提是你事先把那個物件交給了spring容器管理,即在xml中事先配置)
依賴注入的兩種方式
:建構函式注入和
set方法注入
1 建構函式注入
顧名思義,就是使用類中的建構函式,給成員變數賦值。注意,賦值的操作不是我們自己做的,而是通過配置的方式,讓
spring
框架來為我們注入
2set方法注入
顧名思義,就是在類中提供需要注入成員的
set方法。
aop的作用及優勢
作用:
在程式執行期間,不修改原始碼對已有方法進行增強。
優勢:aop是oop的一種很好的補充,因為oop的思想只能在類級別做到減少重複**,在方法級別無能為力,而aop可以做到在方法級別減少重複** ,提高開發效率 ,維護方便。
aop實現的核心就是動態**,動態**能夠做到位元組碼隨用隨建立,隨用隨載入。它與靜態**的區別也在於此。因為靜態**是位元組碼一上來就建立好,並完成載入。裝飾者模式就是靜態**的一種體現。
動態**常用的兩種方式:
基於介面的動態**:
提供者:jdk官方的proxy類。
要求:被**類最少實現的乙個介面。
基於子類的動態**:
提供者:第三方的cglib,如果報
asm***x
異常,需要匯入
asm.jar。
要求:被**類不能用final修飾的類(最終類)。
Spring核心技術 IOC,DI
ioc 控制反轉 英文全稱 inversion of control di 依賴注入 英文全稱 dependency injection ioc和di其實是講的乙個東西 封裝對物件的例項化 原先 對於物件的建立,通過new進行例項化 等同於自己找媳婦 在程式中被稱為依賴 而現在 統一通過 父母 be...
Spring核心技術之事物
事物的概述 1.原子性 原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。2.一致性 一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀...
Spring2 0核心技術最佳實踐
1.定義 spring實現了aop功能的ioc容器 spring core spring的ioc容器管理的物件均是單例 2.簡單配置 啟動類 springstartup xmlbeanfactory factory new xmlbeanfactory new classpathresource b...