Spring 學習03
一、上節內容回顧
1 註解ioc操作
(1)使用註解建立物件
- 四個註解
(2)使用註解注入屬性
- 兩個註解
2 aop
(1)aop原理
(2)aop術語
- 切入點
- 增強
- 切面
3 spring的aop操作
(1)基於aspectj的xml方式
二、今天內容介紹
1 基於aspectj的註解aop操作(會用)
2 spring的jdbcTemplate操作
(1)實現crud操作
- 增加、修改、刪除,呼叫模板update方法
- 查詢某個值時候,呼叫queryForObject方法
--- 自己寫實現類封裝資料
- 查詢物件,呼叫queryForObject方法
- 查詢list集合,呼叫query方法
3 spring配置連線池
(1)配置c3p0連線池
(2)dao注入jdbcTemplate操作
4 spring事務管理
(1)事務概念
(2)spring進行事務管理api
- spring針對不同的dao層框架提供不同的實現類
(3)spring進行事務配置(宣告式)
- 基於xml配置檔案
- 基於註解方式
三、基於aspectj的註解aop
1 使用註解方式實現aop操作
第一步 建立物件
第二步 在spring核心配置檔案中,開啟aop操作
第三步 在增強類上面使用註解完成aop操作
四、Spring的jdbcTemplate操作
1 spring框架一站式框架
(1)針對javaee三層,每一層都有解決技術
(2)在dao層,使用 jdbcTemplate
2 spring對不同的持久化層技術都進行封裝
(1)jdbcTemplate對jdbc進行封裝
3 jdbcTemplate使用和dbutils使用很相似,都資料庫進行crud操作
增加
1 匯入jdbcTemplate使用的jar包
2 建立物件,設定資料庫資訊
3 建立jdbcTemplate物件,設定資料來源
4 呼叫jdbcTemplate物件裡面的方法實現操作
修改
刪除
查詢
1 使用jdbcTemplate實現查詢操作
2 查詢具體實現
第一個 查詢返回某一個值
(1)第一個引數是sql語句
(2)第二個引數 返回型別的class
Jdbc實現
第二個 查詢返回物件
第一個引數是sql語句
第二個引數是 RowMapper,是介面,類似於dbutils裡面介面
第三個引數是 可變引數
第三個 查詢返回list集合
(1) sql語句
(2) RowMapper介面,自己寫類實現資料封裝
(3) 可變引數
Spring配置連線池和dao使用jdbcTemplate
1 spring配置c3p0連線池
第一步 匯入jar包
第二步 建立spring配置檔案,配置連線池
(1)把程式碼在配置檔案中進行配置
2 dao使用jdbcTemplate
(1)建立service和dao,配置service和dao物件,在service注入dao物件
(2)建立jdbcTemplate物件,把模板物件注入到dao裡面
(3)在jdbcTemplate物件裡面注入dataSource
五、Spring的事務管理
事務概念
1 什麼事務
2 事務特性
3 不考慮隔離性產生讀問題
4 解決讀問題
(1)設定隔離級別
Spring事務管理api
1 spring事務管理兩種方式
第一種 程式設計式事務管理(不用)
第二種 宣告式事務管理
(1) 基於xml配置檔案實現
(2) 基於註解實現
2 spring事務管理的api介紹
(1)spring針對不同的dao層框架,提供介面不同的實現類
(2)首先 配置事務管理器
搭建轉賬環境
1 建立資料庫表,新增資料
2 建立service和dao類,完成注入關係
(1)service層又叫業務邏輯層
(2)dao層,單純對資料庫操作層,在dao層不新增業務
(3)需求:小王 轉賬 1000 給 小馬
- 小王少1000
- 小馬多1000
3 產生問題:
(1)如果小王少了1000之後,出現異常,小馬不會多1000,錢丟失了
4 解決:
(1)新增事務解決,出現異常進行回滾操作
宣告式事務管理(xml配置)
1 配置檔案方式使用aop思想配置
第一步 配置事務管理器
第二步 配置事務增強
第三步 配置切面
宣告式事務管理(註解)
第一步 配置事務管理器
第二步 配置事務註解
第三步 在要使用事務的方法所在類上面添加註解