Spring 学习03

时间:2023-03-09 17:49:48
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 学习03

第二步 在spring核心配置文件中,开启aop操作

Spring 学习03

第三步 在增强类上面使用注解完成aop操作

Spring 学习03

四、Spring的jdbcTemplate操作

1 spring框架一站式框架

(1)针对javaee三层,每一层都有解决技术

(2)在dao层,使用 jdbcTemplate

2 spring对不同的持久化层技术都进行封装

Spring 学习03

(1)jdbcTemplate对jdbc进行封装

3 jdbcTemplate使用和dbutils使用很相似,都数据库进行crud操作

增加

1 导入jdbcTemplate使用的jar包

Spring 学习03

Spring 学习03

2 创建对象,设置数据库信息

3 创建jdbcTemplate对象,设置数据源

4 调用jdbcTemplate对象里面的方法实现操作

Spring 学习03

Spring 学习03

修改

Spring 学习03

删除

Spring 学习03

查询

1 使用jdbcTemplate实现查询操作

Spring 学习03

2 查询具体实现

第一个 查询返回某一个值

Spring 学习03

(1)第一个参数是sql语句

(2)第二个参数 返回类型的class

Spring 学习03

Jdbc实现

Spring 学习03

第二个 查询返回对象

Spring 学习03

第一个参数是sql语句

第二个参数是 RowMapper,是接口,类似于dbutils里面接口

第三个参数是 可变参数

Spring 学习03

Spring 学习03

第三个 查询返回list集合

Spring 学习03

(1)   sql语句

(2)   RowMapper接口,自己写类实现数据封装

(3)   可变参数

Spring 学习03

Spring配置连接池和dao使用jdbcTemplate

1 spring配置c3p0连接池

第一步 导入jar包

Spring 学习03

第二步 创建spring配置文件,配置连接池

Spring 学习03

(1)把代码在配置文件中进行配置

Spring 学习03

2 dao使用jdbcTemplate

(1)创建service和dao,配置service和dao对象,在service注入dao对象

Spring 学习03

(2)创建jdbcTemplate对象,把模板对象注入到dao里面

Spring 学习03

Spring 学习03

(3)在jdbcTemplate对象里面注入dataSource

Spring 学习03

Spring 学习03

五、Spring的事务管理

事务概念

1 什么事务

2 事务特性

3 不考虑隔离性产生读问题

4 解决读问题

(1)设置隔离级别

Spring事务管理api

1 spring事务管理两种方式

第一种 编程式事务管理(不用)

第二种 声明式事务管理

(1)       基于xml配置文件实现

(2)       基于注解实现

2 spring事务管理的api介绍

Spring 学习03

(1)spring针对不同的dao层框架,提供接口不同的实现类

Spring 学习03

(2)首先 配置事务管理器

搭建转账环境

1 创建数据库表,添加数据

Spring 学习03

2 创建service和dao类,完成注入关系

Spring 学习03

(1)service层又叫业务逻辑层

(2)dao层,单纯对数据库操作层,在dao层不添加业务

(3)需求:小王 转账 1000 给 小马

- 小王少1000

- 小马多1000

Spring 学习03

Spring 学习03

3 产生问题:

(1)如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了

4 解决:

(1)添加事务解决,出现异常进行回滚操作

声明式事务管理(xml配置)

1 配置文件方式使用aop思想配置

第一步 配置事务管理器Spring 学习03

第二步 配置事务增强

Spring 学习03

第三步 配置切面

Spring 学习03

声明式事务管理(注解)

第一步 配置事务管理器

Spring 学习03

第二步 配置事务注解

Spring 学习03

第三步 在要使用事务的方法所在类上面添加注解

Spring 学习03