spring基础知识记录3

基于aspectj的注解aop

  1. 使用注解方式实现aop操作

    1. 创建对象
    2. 在spring核心配置文件中,开启aop操作

    在这里插入图片描述

    在这里插入图片描述

    1. 在增强类上面使用注解完成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查询与dbutils相似

在这里插入图片描述

  1. 查询具体实现

    1. 查询返回某一个值

      在这里插入图片描述

      在这里插入图片描述

      jdbc基本实现

      在这里插入图片描述

    2. 查询返回对象

    在这里插入图片描述

    第一个参数是sql语句

    第二个参数是RowMapper是接口

    第三个参数是可变参数

    在这里插入图片描述

    在这里插入图片描述

    1. 查询返回list集合

      在这里插入图片描述

      1. sql语句
      2. RowMapper接口,自己写类实现数据封装
      3. 可变参数

      在这里插入图片描述

Spring配置连接池和dao使用jdbcTemplate

  1. Spring配置层c3p0连接池

    1. 导入jar包

    2. 创建spring配置文件,配置连接池

      在这里插入图片描述

      1. 把代码在配置文件中配置

      在这里插入图片描述

  2. dao使用jdbcTemplate

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

    在这里插入图片描述

    1. 创建模版对象,把模版对象注入到dao对象

    在这里插入图片描述

    1. 在jdbcTemplate里注入dataSource

    在这里插入图片描述

    在这里插入图片描述

Spring的事务管理

事务概念

  1. 什么是事务

    事务是单个的工作单元。如果某个事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。一个逻辑工作单元必须有ACID属性,只有这样才能成为一个事务。

  2. 事务特性

    acid

    1.原子性
    事务必须是原子工作单元。对于其数据修改,要么全都执行,要么全都不执行。
    2.一致性
    事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构都必须是正确的。
    3.隔离性
    由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务识别数据时数据所处的状态,或者是另一个并发事务修改它之前的状态,或者是第二个事务修改它之后的状态,事务不会识别中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
    4.持久性
    事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

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

    脏读,虚读,坏读

  4. 解决读问题

    1. 设置隔离级别

Spring事务管理api

  1. spring事务管理两种方式

    1. 编程式事务管理(不用)
    2. 声明式事务管理
      1. 基于xml配置文件实现
      2. 基于注解实现
  2. spring事务管理api介绍

    在这里插入图片描述

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

    在这里插入图片描述

    1. 首先配置事物管理器

搭建转账环境

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

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

    1. service层又叫业务逻辑层
    2. dao层,单独对数据库操作层,在dao层不添加业务

    在这里插入图片描述

    在这里插入图片描述

  3. 产生问题:

    1. 如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了
  4. 解决:

    1. 添加事物解决,出现异常出现回滚操作

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

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

    在这里插入图片描述

    在这里插入图片描述

声明式事务管理(注解)

在这里插入图片描述

发布了151 篇原创文章 · 获赞 110 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_35564813/article/details/104720727