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思想配置
第一步 配置事务管理器
第二步 配置事务增强
第三步 配置切面
声明式事务管理(注解)
第一步 配置事务管理器
第二步 配置事务注解
第三步 在要使用事务的方法所在类上面添加注解
Spring 学习03的更多相关文章
- spring学习(03)之bean实例化的三种方式
bean实体例化的三种方式 在spring中有三中实例化bean的方式: 一.使用构造器实例化:(通常使用的一个方法,重点) 二.使用静态工厂方法实例化: 三.使用实例化工厂方法实例化 第一种.使用构 ...
- Spring学习03
6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...
- Spring学习03(Bean的自动装配)
6.Bean的自动装配 6.1 自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean的三种装配机 ...
- Spring学习03——AOP Demo
切面类StudentServiceAspect.java package com.su.advice; import org.aspectj.lang.JoinPoint; import org.as ...
- Spring学习之——手写Spring源码V2.0(实现IOC、D、MVC、AOP)
前言 在上一篇<Spring学习之——手写Spring源码(V1.0)>中,我实现了一个Mini版本的Spring框架,在这几天,博主又看了不少关于Spring源码解析的视频,受益匪浅,也 ...
- spring 学习之 bean 的注入方式 property和constructor-arg的使用方式
spring 学习之 bean 的注入方式 property和constructor-arg的使用方式. bean的注入方式: property 注入是: 通过setxx方法注入. construct ...
- JavaScript学习03 JS函数
JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...
- Java虚拟机JVM学习03 连接过程:验证、准备、解析
Java虚拟机JVM学习03 连接过程:验证.准备.解析 类被加载后,就进入连接阶段. 连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去. 连接阶段三个步骤:验证.准备和解析. 类 ...
- Spring学习之AOP总结帖
AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组 ...
随机推荐
- 简单的数据库备份语句--Oracle+SQLSERVER
1. 工作中经常需要备份数据库表, 有时候经常需要baidu或者是询问,简单些一下.. 如果备份表不存在时: Oracle的语法 create table zhaobsh as select * fr ...
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 5. 参数
上一个教程中,咪博士带大家学习了函数的使用.例如,line_without_moving 函数,可以让海龟先画出一条线段,然后再回来起点. def line_without_moving(): tur ...
- Delphi学习技巧
我感觉学习最大的诀窍是, 尽快捕捉到设计者(Delphi VCL 的设计者.进而是 Windows 操作系统的设计者)的某些思路, 和大师的思路吻合了, 才能够融汇贯通, 同时从容使用它们的成果. 碰 ...
- python之函数(可选参数和混合参数)
代码举例: # 函数可选参数举例,hoppy参数可传可不传 def getinfo(name, age, hoppy=''): if hoppy: print("name:", n ...
- 谷歌pixel手机解BL锁、刷机、破解电信(史上最详细的帖子)
本文根据网上已有内容进行整理,对每一个步骤都进行了实践,运气爆棚,几乎没有出现什么重大错误,小错误也进行了很好地解决.因此,十分感激那些为折腾google pixel的IT爱好者,为我提供了无穷的帮助 ...
- maven 引用另一个jar包 需要先打包在仓库里面 并在pom里面配置 才可以引用
maven 引用另一个jar包 需要先打包在仓库里面 并在pom里面配置 才可以引用
- Apache访问控制
简单概述 httpd服务的访问控制 作用: 控制对网站资源的访问 为特定的网站目录添加访问授权 常用访问控制方式: 客户机地址限制 用户授权限制 1.基于客户端地址的访问控制 Order配置项,定义控 ...
- Luogu5058 ZJOI2004嗅探器(割点)
数据范围过小怎么做都行.考虑优秀一点的做法.考虑dfs树上两台中心服务器间的路径,路径上所有能割掉中心服务器所在子树的点均可以成为答案.直接从两点中的任意一点开始dfs就更方便了.一开始弱智的以为只要 ...
- BZOJ1124 POI2008枪战Maf(环套树+贪心)
每个点出度都为1,可以发现这张图其实是个环套树森林,树中儿子指向父亲,环上边同向. 首先自环肯定是没救的,先抬出去. 要使死亡人数最多的话,显然若一个点入度为0其不会死亡,而一个孤立的环至少会留下一个 ...
- Vue模板 script部分
<script> export default { name: "Home", data() { return {}; }, methods: { // 组件的方法 } ...