一、上节内容回顾

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

第一步 配置事务管理器

第二步 配置事务增强

第三步 配置切面

声明式事务管理(注解)

第一步 配置事务管理器

第二步 配置事务注解

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

Spring 学习03的更多相关文章

  1. spring学习(03)之bean实例化的三种方式

    bean实体例化的三种方式 在spring中有三中实例化bean的方式: 一.使用构造器实例化:(通常使用的一个方法,重点) 二.使用静态工厂方法实例化: 三.使用实例化工厂方法实例化 第一种.使用构 ...

  2. Spring学习03

    6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...

  3. Spring学习03(Bean的自动装配)

    6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...

  4. Spring学习03——AOP Demo

    切面类StudentServiceAspect.java package com.su.advice; import org.aspectj.lang.JoinPoint; import org.as ...

  5. Spring学习之——手写Spring源码V2.0(实现IOC、D、MVC、AOP)

    前言 在上一篇<Spring学习之——手写Spring源码(V1.0)>中,我实现了一个Mini版本的Spring框架,在这几天,博主又看了不少关于Spring源码解析的视频,受益匪浅,也 ...

  6. spring 学习之 bean 的注入方式 property和constructor-arg的使用方式

    spring 学习之 bean 的注入方式 property和constructor-arg的使用方式. bean的注入方式: property 注入是: 通过setxx方法注入. construct ...

  7. JavaScript学习03 JS函数

    JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...

  8. Java虚拟机JVM学习03 连接过程:验证、准备、解析

    Java虚拟机JVM学习03 连接过程:验证.准备.解析 类被加载后,就进入连接阶段. 连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去. 连接阶段三个步骤:验证.准备和解析. 类 ...

  9. Spring学习之AOP总结帖

    AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组 ...

随机推荐

  1. 【转帖】MYSQL 8.0 忘记密码的简单处理。--init-file

    Copy From https://www.cnblogs.com/wangjiming/p/10363357.html mysql 不熟悉 但是感觉语法的确与oracle越来越像了. 感谢原作者 我 ...

  2. Hive三种安装模式

  3. webpack & bundle analyzer

    webpack & bundle analyzer webpack bundle analyzer https://github.com/th0r/webpack-bundle-analyze ...

  4. MySQL基本概念以及简单操作

    一.MySQL   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...

  5. 14Junit、反射、注解

    14Junit.反射.注解 14.1.1 Junit的概述      一般IDE都内置了junit,若需要自行下载jar包,可以访问官网,官网地址如下:http://www.junit.org 1. ...

  6. Launch4j Java 转可执行程序工具

    launch4j 可以用来将Java应用程序转成Windows本地可执行文件 (.exe).提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ANT编译脚本 ...

  7. python 模块之-sys

    python 模块 sys import sys sys.argv       # 参数,第一个参数是脚本的文件明,自定义参数为数组的第二个   sys.argv[1] sys.version   # ...

  8. mysql 性能指标

    qps 每秒处理的查询数tps 每秒处理的事务数IOPS 每秒磁盘进行的I/O操作次数 一.TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数. ...

  9. BZOJ4378[POI2015]Logistyka——树状数组

    题目描述 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进行s次操作.每次 ...

  10. Minimum Cost POJ - 2516(模板题。。没啥好说的。。)

    题意: 从发货地到商家 送货 求送货花费的最小费用... 有m个发货地,,,n个商家,,每个商家所需要的物品和物品的个数都不一样,,,每个发货地有的物品和物品的个数也不一样,,, 从不同的发货地到不同 ...