Spring學習(三)
(一)Spring基於AspectJ的註解的AOP開發
(1)建立專案 引入jar包 編寫目標類,切面類,在Spring中進行bean配置 (2)在配置檔案中開啟註解的AOP開發 (3)切面類AOP配置 注意要在類上打Aspect註解 前置通知 後置通知 環繞通知
異常和最終
切入點註解:(把切入點公式配置成如下,則可以在上面的各種通知中替代)
實現介面,使用JDK代理,不實現介面用的是cglib
(二)Spring JDBC的模板使用
1、引入jar(mysql連線和spring jdbc) 2、
3、將連線池和模板交給Spring
(三)Spring事務管理
1、PlatformTransactionManager介面 平臺事務管理器:介面,管理事務的真正物件 DataSourceTransactionManager JDBC管理事務 HibernateTransactionManager Hibernate管理事務 2、TransactionDefinition事務定義資訊 介面 定義事務的相關資訊,隔離級別,超時資訊,傳播行為,是否只讀 3、TransactionStatus 事務的狀態 介面 事務狀態:用於記錄在事務管理過程中,事務的狀態的物件
關係 平臺事務管理器根據事務定義資訊進行事務的管理,在事務管理過程中產生各種狀態,將狀態資訊記錄到事務狀態物件中
Service A( ){ Dao.a Dao.b } Service B(){ A() Dao.c Dao.d }
例如現在一個service方法叫A,另一個service方法叫B 並且在B呼叫A。 事務的傳播行為,用來解決業務層相互呼叫的問題(7種,主要是3個) 1、保證多個操作在同一事務 PROPAGATION_REQUIRED 預設值,如果A有事務,使用A的事務,並且包含B,如果沒有則建立新的並且包含A。(全部包含到一起) PROPAGATION_SUPPORTS 支援事務,A有事務則用A(包在一起),沒有則不用了。 PROPAGATION_MANDATORY A有則用A(包在一起),沒有則丟擲異常 2、保證多個操作不在同一事務
事務管理 一、程式設計式管理(手動編寫程式碼)(瞭解) 1.平臺管理器 2.事務管理模板,簡化程式碼
二、宣告式事務(XML配置實現)
1、引入AOP開發包 2、配置事務管理器,引入上面的dataSource配置 3、配置增強(切面類),事務管理的規則 4、切面類應用到目標類 aop配置 三、宣告式事務(註解實現) 1.導包 2.配置事務管理器 xml裡面配跟上面一樣 3.開啟註解事務 4.業務層添加註解