spring核心技術點有:
ioc(inversion of control)控制反轉(反轉控制)
生活過中我們要得到或者使用乙個東西,往往第一反應就是去找組成這些東西的原材料和工具,比如,我們要喝一杯橙汁,那麼我們首先要去找榨汁機,然後去買橙子,和水才能造出橙汁。
這裡就要延伸出兩個基本概念:正控和反控
正控:若要使用某個物件需要自己去負責物件的建立,比如:user user=new user();
反控:若要使用某個物件只需要從spring容器中獲取需要使用到的物件,不關心物件的建立過程,也就是把建立物件的控制權交給spriing控制。
di(dependency injection)依賴注入。
還是先說乙個場景:假如有一天你口渴了,需要去小賣鋪買一瓶水,但是小賣鋪距離你家很遠。辦法一當然很簡單,就是你直接去小賣鋪買水,去買水之前你必須要知道怎麼去小賣鋪,還要知道小賣鋪有沒有你需要的水,去小賣鋪是開車還是不行等等。你也許還要考慮很多其他問題才能買到一瓶水,也就是說,為了一瓶水,你需要借助車等其它工具,問題變得相當複雜。
所以,簡單的辦法就是:小賣鋪提供送貨上門服務,凡是註冊成為小賣鋪的會員,都能享受這一服務,你只需要告知小賣鋪你需要什麼,小賣鋪就會及時把貨物送上門。
這樣一來你就需要做兩件事情:第一,向小賣鋪註冊成為會員。第二,告知小賣鋪你需要什麼。
這和spring做法很想,spring就是小賣鋪,你就是a物件,水就是b物件。
第一,spring中宣告乙個類a,
第二,告訴spring,a需要b
指spring建立物件的過程中,將物件依賴屬性(簡單值,集合,物件)通過配設定給該物件,實現di必須有ioc做支援。
//表四把生日這個物件注入到人這個類中
xml方式實現di操作
注入方式:set方式注入,構造方法注入,p命名空間注入,spel表示式注入
注入資料型別:基本型別:int,floart ,double ,string;物件型別;複雜型別
然後在user中新增car物件,並新增set方法。
構造方法建立物件,為什麼以上的物件能夠被建立,是因為ic預設通過無參構造方法建立物件,可以通過列印無參看看就知道了
但是如果類中沒有預設的無參構造方法,比如下面:
public user(string name,int id)
那麼就要使用下面的方式進行注入:
還可以通過index值來確定優先執行那個構造方法
還可以使用type來控制找那個型別的引數
Spring核心技術 IOC,DI
ioc 控制反轉 英文全稱 inversion of control di 依賴注入 英文全稱 dependency injection ioc和di其實是講的乙個東西 封裝對物件的例項化 原先 對於物件的建立,通過new進行例項化 等同於自己找媳婦 在程式中被稱為依賴 而現在 統一通過 父母 be...
Spring框架核心技術總結
方便解耦,簡化開發 通過spring提供的 ioc容器,可以將物件間的依賴關係交由 spring 進行控制,避免硬編碼所造成的過度程式耦合。使用者也不必再為單例模式類 屬性檔案解析等這些很底層的需求編寫 可以更專注於上層的應用。依賴注入的概念 它是spring 框架核心 ioc的具體實現方式。簡單的...
Spring核心技術之事物
事物的概述 1.原子性 原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。2.一致性 一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀...