阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制
创建新项目

复制上一个pom.xml的内容。依赖和打包的方式

再复制src的代码过来

bean.xml。多导入context的声明

Service的实现类增加注解

dao的set方法删掉

通过Autowried注入dao

dao注解
service改完了改dao。加上Repository

此时不能再继承JdbcDaoSupport。这里的继承删掉。

上面定义jdbcTemplate。

这样直接使用jdbcTemplate来操作

使用Autowired注入jdbcTemplate

删除原来的配置

bean.xml内配置jdbcTemplate

还需要配置Spring创建容器要扫描的包

要删除的代码块


开启Spring对注解事务的支持

业务层支持注解

找到业务层加上注解,支持事物

测试


事务被控制住了





在方法上面直接配置。设置readOnly为false

如果方法比较多配置起来就比较麻烦了。
所以注入在选择了 ,老师会选择xml。配置一次就可以一劳永逸解决所有Service的问题。
注解就因为事务类型的不同,需要在一个service里面配置多次是读写型 还是只读型的。

但是单从简单配置层面来说。注解配置起来还是比较简单。
阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制的更多相关文章
- spring基于注解的声明式事务控制
package com.hope.service.impl;import com.hope.dao.IAccountDao;import com.hope.domain.Account;import ...
- 28Spring_的事务管理_银行转账业务加上事务控制_基于注解进行声明式事务管理
将applicationContext.xml 和 AccountServiceImpl 给备份一个取名为applicationContext2.xml 和 AccountServiceImpl2.j ...
- spring基于XML的声明式事务控制
<?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.sp ...
- spring基于xml的声明式事务控制配置步骤
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 阶段3 2.Spring_10.Spring中事务控制_6 spring基于XML的声明式事务控制-配置步骤
环境搭建 新建工程 把对应的依赖复制过来 src下内容复制 配置spring中的声明事物 找到bean.xml开始配置 配置事物管理器 里面需要注入DataSource 2-配置事物通知 需要先导入事 ...
- Spring -12 -声明式事务及完整的XML配置文件信息 -声明式事务中的相关属性(tx:advice的标签)
1.编程式事务: 1.1由程序员编程事务控制代码. 1.2OpenSessionInView 就属于编程式事务: session.commit()和rollback() 2.声明式事务: 2.1事务控 ...
- SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置
一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不 ...
- 阶段3 2.Spring_10.Spring中事务控制_8 spring基于纯注解的声明式事务控制
新建项目 把之前项目src下的内容全部复制过来 pom.xml内复制过来 开始配置 新建一个config的包,然后再新建配置文件类SpringConfiguration @Configuration这 ...
- Spring中基于XML的声明式事务控制配置步骤
1.配置事务管理器 2.配置事务的通知 此时,我们就需要导入事务的约束 tx名称空间和约束,同时也需要aop的 使用tx:advice标签配置事务通知 属性: id:给事务通知起一个唯一标识 tran ...
随机推荐
- java 文件上传与解析(excel,txt)
excel上传与解析 https://blog.csdn.net/zsysu_it/article/details/79074067 txt解析 https://blog.csdn.net/CSDNw ...
- Phantomjs 请求与响应
var page = require('webpage').create(); page.onResourceRequested = function(request) { console.log(' ...
- DevOps之Pipeline集成junit、jacoco、SonarQube(二)
一.准备工作 1.准备一个持续集成的代码工程 工程下载地址: Github地址为:https://github.com/zbbkeepgoing/springboot-demo 2.springboo ...
- b2b推广方式有哪些-
b2b推广方式有哪些 老黄牛推广软件订做 Q:935744345 专业团队,高效推广
- react -搭建服务
import 'whatwg-fetch'; import 'es6-promise'; require('es6-promise').polyfill(); import * as common f ...
- head first 设计模式笔记8-模板方法模式
模板设计模式:就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现. 优点:使用模板方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求. 缺点:如果算法骨架有修改的 ...
- linux查看网关
Linux下查看网关方法:route -n ip route show traceroute www.prudentwoo.com -s 100 第一行就是自己的默认网关 netstat -r mor ...
- .netcore mongodb 分页+模糊查询+多条件查询
.netcore MongoDB.Driver 版本才2.8 与aspnet差距太大,网上找很多资料没有现成的代码. public override async Task<PagerList&l ...
- poj 3320 jessica's Reading PJroblem 尺取法 -map和set的使用
jessica's Reading PJroblem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9134 Accep ...
- 「HAOI2016」食物链
题目链接 解题思路 简单的DAG上DP即可. 参考程序 #include <bits/stdc++.h> using namespace std; const int Maxn = 100 ...