宣告式事務管理:這種方式意味著你可以將事務管理和業務**分離。你只需要通過註解或者xml配置管理事務。
它為程式設計式事務管理提供了乙個簡單的api而非一系列複雜的事務api(如jta).
它支援宣告式事務管理。
它可以和spring 的多種資料訪問技術很好的融合。
propagation_supports: 支援當前事務,如果當前沒有事務,就以非事務方式執行。
propagation_mandatory: 支援當前事務,如果當前沒有事務,就丟擲異常。
propagation_requires_new: 新建事務,如果當前存在事務,把當前事務掛起。
propagation_not_supported: 以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
propagation_never: 以非事務方式執行,如果當前存在事務,則丟擲異常。
propagation_nested: 如果當前存在事務,則在巢狀事務內執行。如果當前沒有事務,則進行與propagation_required類似的操作。
prototype:乙個bean可以定義多個例項。
classpathresource:訪問類載入路徑裡資源的實現類。
filesystemresource:訪問檔案系統裡資源的實現類。
servletcontextresource:訪問相對於 servletcontext 路徑裡的資源的實現類:
inputstreamresource:訪問輸入流資源的實現類。
bytearrayresource:訪問位元組陣列資源的實現類。 這些 resource 實現類,針對不同的的底層資源,提供了相應的資源訪問邏輯,並提供便捷的包裝,以利於客戶端程式的資源訪問。
after(最終通知):當某連線點退出的時候執行的通知(不論是正常返回還是異常退出)。
after-returning(後置通知):在某連線點正常完成後執行的通知。
after-throwing(異常通知):在方法丟擲異常退出時執行的通知。
around(環繞通知):在方法呼叫前後觸發的通知。
defaultadvisorautoproxycreator:預設通知者自動**建立器
metadata autoproxying:元資料自動**
二是採用靜態織入的方式,引入特定的語法建立「方面」,從而使得編譯器可以在編譯期間織入有關「方面」的**。
(2)cglib
cglib採用底層的位元組碼技術,為乙個類建立子類,並在子類中採用方法攔截的技術攔截所有父類的呼叫方法,並順勢織入橫切邏輯.它執行期間生成的**物件是目標類的擴充套件子類.所以無法通知final、private的方法,因為它們不能被覆寫.是針對類實現**,主要是為指定的類生成乙個子類,覆蓋其中方法.
在spring中預設情況下使用jdk動態**實現aop,如果proxy-target-class設定為true或者使用了優化策略那麼會使用cglib來建立動態**.spring aop在這兩種方式的實現上基本一樣.以jdk**為例,會使用jdkdynamicaopproxy來建立**,在invoke()方法首先需要織入到當前類的增強器封裝到***鏈中,然後遞迴的呼叫這些***完成功能的織入.最終返回**物件.
Spring面試題總結
自動裝配沒有自定義裝配方式那麼精確,而且不能自動裝配簡單屬性 基本型別 字串等 在使用時應注意。在spring的早期版本中,僅有兩個作用域 singleton和prototype,前者表示bean以單例的方式存在,ioc容器建立時就建立 後者表示ioc容器建立時不建立,在每次從容器中呼叫bean時,...
面試題總結 html面試題)
附上鏈結 doctype 的作用是什麼?宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來 進行文件解析,否則就以相容模式進行解析。在標準模式下,瀏覽器的解析規則都是按照最新的標準進行解析的。而在相容模式下,瀏 覽器會以向後相容的方式來模擬老式瀏...
spring面試題目
目錄 一 spring mvc工作原理二 為什麼要用spring 1 spring能很好的與各大框架進行整合 2 建立物件時,如果我們不用spring需要用工廠模式來建立,這個spring相當於工廠模式已經幫我們做了建立物件的功能 ioc 依賴注入 3 在用hibernate的時候,如果不用spri...