Spring框架学习笔记(三)
上接Spring框架学习笔记(二)
1 基于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对象里面的方法实现操作
在测试的时候遇到了一个小错误:
如上图所示错误提示,找了两分钟才发现我的url写错了
正确的应该是这样写的,问题解决。
修改
删除
查询
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)把代码在配置文件中进行配置
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)添加事务解决,出现异常进行回滚操作
后续更多请见Spring框架学习笔记(四)………………