spring是乙個輕量級的ioc和aop容器框架 提供對事務的管理 是框架與框架的粘合劑。
ioc:
代表控制反轉 以前是物件控制其他物件 現在所有的物件被spring控制 把物件注入到bean裡 叫動態注入。
以前使用jsp和servlet進行開發 需要自己new物件 這樣比較佔記憶體 new一次就建立一次物件
現在交給spring進行管理後 不管訪問多少次都只建立一次物件 它是單例的 效能高
aop:
面向切面的程式設計 本質是*** 管理事務 日誌 許可權等
比如 運算元據庫增刪改需要開啟事務 之後需要提交事務 這樣就可用動態**實現前置通知和後置通知
前置管理開啟事務後置提交事務 spring的事務管理就用到了aop
1.setter注入 定義set get方法 在bean裡注入
2.構造注入 定義注入的變數 寫有參構造將引數定義進來
ref定義其他標籤name的值
1.springmvc通過servlet方法進行攔截 struts2通過fitle(***)方式攔截
2.springmvc非侵入式 struts2是侵入式必須繼承類
3.springmvc是方法級別上呼叫 struts2需要通過類來方法呼叫 比如useraction/list
4.springmvc零配置 在controller類和方法上只需要加上註解 即可呼叫 struts2無法使用註解 寫乙個action就要配置一遍 非常繁瑣
5.返回值那裡springmvc加@responbody struts2需要手動轉換
1.hibernate標準orm框架 mybatis不完全orm框架
2.hibernate自動生成sql mybatis自己寫對映
3. hibernate dao層開發簡單 效率高但效能差 二級快取 移植性好 mybatis需要自己維護 容器掌握
#在組成sql語句預設把引數#變為字串 id='2' 可以防止sql注入
$不會把字元當字串處理 是什麼就是什麼 用於資料庫物件 如表名
快取就是把查詢到的資料放到記憶體中 下次不用去資料庫拿。
又分一級快取和二級快取
一級快取是sqlsession級別的快取 第一次執行後將結果寫到快取 下次直接拿 一級快取預設開啟
二級快取sessionfactiory 效果也是一樣的
1.臨時狀態(新建狀態):不處於session
2.持久化狀態:加入到session快取
3.游離狀態:已被持久化 不在session快取中
1.getcurrentsession()是檢視執行緒有沒有繫結session 有就返回沒有就建立
opensession()直接new乙個新的返回
2.getcurrentsession()事務提交自動關閉session
opensession()需要手動關閉
Spring框架值spring容器的相關內容 一
構造器方式例項化 預設呼叫這個型別的無參構造 靜態工廠方法例項化 本質上呼叫乙個靜態方法,獲取乙個物件 例項工廠方法例項化 本質上就是利用已存在的物件,呼叫成員方法,獲取另乙個型別的物件 把乙個物件是否單例也要看成作用域,預設spring容器中的物件是單例的 可以通過bean標記的scope屬性指定...
Spring相關的框架產品
spring 是乙個開放源 的設計層面框架,他解決的是業務邏輯層和其他各層的松耦合問題,因此它將面向介面的程式設計思想貫穿整個系統應用。spring mvc 屬於springframework的後續產品,已經融合在spring web flow裡面。spring 框架提供了構建 web 應用程式的全...
Caffe框架詳細梳理
protobuf是google公司開發的,並在google內部久經考驗的乙個東西,在08年google把它貢獻給了開源社群,隨後便有越來越多的人使用它。protobuf是乙個結構化資訊傳遞的工具,主要用於資料儲存 傳輸協議格式等場合。caffe官方教程 blobs,layers,nets caffe...