使用spring框架在service层模拟银行转账功能

今天,我们使用spring框架,在service层模拟银行转账业务

步骤:

1.引入依赖

2.创建账户表

3.创建实体类

4.创建管理连接的工具类ConnectionUtil, 用来实现连接和线程的绑定

5.创建事物管理器,用来实现事物的开启、提交、事物回滚、关闭连接、释放资源

6.创建dao层接口 和实现类

7.创建service层接口和实现类

8.设置配置文件

9.创建测试类

第一步:引入依赖

需要引入的依赖:

spring-context包、spring-test包、commons-dbutils包、mysql-connector包、c3p0工具类包、junit包

第二步;创建账户表


表中设置两个字段,name和money

第三步:创建实体类

声明name和money两个属性,并生成setter / getter方法  和toString方法

第四步:创建管理连接的工具类ConnectionUtil, 用来实现连接和线程的绑定


第五步;创建事物管理器,用来实现事物的开启、提交、事物回滚、关闭连接、释放资源



第六步:创建dao层接口和实现类

*接口

接口中定义两个抽象方法:

1.findByName( String name )  通过账户名查找账户信息

2.update(Account  account) 用来持久化账户信息,将发生变化的账户,保存到数据库

如下图:


*实现类

1.实现接口中的方法

2.获取连接对象

3.执行sql操作

如下图;



第七步:创建service层接口和实现类

接口

1.定义抽象方法 transfer (String sendName, String receiveName, Integer money);

方法中的三个参数分别是:转出账户名,转入的账户名,转账金额

如下图:


实现类

1.实现接口中的方法

2.创建事物管理对象

3.创建dao层类对象

4.开启事物

5.调用dao层的findByName( String name) 方法:分别获得转出账户  和  接收账户

6.设置转出 和 接收账户的余额

7.调用dao层的update(Account  account)方法:更新数据库中的转出账户

8.模拟转账时的异常

9.调用dao层的update(Account account)方法:更新数据库中的 接收账户

10.提交事务

11.异常情况事务回滚

12.释放资源

如下图:


第八步:创建配置文件

1.开启注解包

2.创建queryRunner对象

3.向queryRunner对象中注入数据源

4.创建数据源对象

如下图:


第九步:编写测试类


你可能感兴趣的:(使用spring框架在service层模拟银行转账功能)