1. 程式人生 > >Spring 學習03

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思想配置

第一步 配置事務管理器

第二步 配置事務增強

 

第三步 配置切面

宣告式事務管理(註解)

 第一步 配置事務管理器

第二步 配置事務註解

 

第三步 在要使用事務的方法所在類上面添加註解