从头认识SpringBatch批处理框架--实例场景一信用卡消费对账

本文介绍了如何使用SpringBatch处理信用卡消费对账场景。通过读取csv文件,处理数据,并将结果写入outputFile。项目包含CreditBill领域对象、CreditBillProcessor处理类、批处理作业及单元测试。提供了详细的项目结构和配置文件说明。
摘要由CSDN通过智能技术生成
               

场景说明

个人使用信用卡消费,银行定期发送银行卡消费账单,本例将模拟银行处理个人信用卡消费对账单对账,银行需要定期地把个人消费的记录导出成csv文件,然后交给对账系统处理。

主要流程

(从credit-card-bill-201303.csv)读取数据---->处理数据----->写数据到 outputFile文件

项目结构


项目结构说明:

  • CreditBill:信用卡消费记录领域对象
  • CreditBillProcessor:信用卡消费记录处理类
  • jobLaunch:调用批处理作业类
  • jobLaunchTest:Junit单元测试,使用Spring提供的测试框架
  • credit-card-bill-201303.csv:信用卡消费账单文件
  • job-context.xml:定义作业基础信息
  • job.xml:定义作业文件
  • outputFile.xml:输出处理过后的信用卡消费账单文件
项目实现步骤详解:
1.准备credit-card-bill-201303.csv对账文件
这里我们使用csv格式的文件,该文件的每一行表示信用卡消费记录,中间用逗号分隔,分别表示:
银行卡账户、账户名、消费金额、消费日期、消费场所如下图所示:


2.定义领域对象:
为了与账单文件形成映射,需要新建信用卡消费记录对象 -CreditBill,主要属性:银行卡账户、账户名、消费金额、消费日期、消费场所
具体代码如下:
package com.my.domain;/** * 信用卡消费记录领域对象 * 该类主要用于在ItemReader读取文件数据之后转换成领域对象CreditBill, * 以便于ItemProcessoe和ItemWriter操作使用 * @author wbw * */public class CreditBill {    /**     * 银行账户     */ private String accountID; /**  * 账户名  */ private String name; /**  * 消费金额  */ private double amount; /**  * 消费日期  */ private String date; /**  * 消费场所  */ private String address; /**  * @return the 银行账户  */ public String getAccountID() {  return accountID; } /**  * @param 银行账户 the accountID to set  */ public void setAccountID(String accountID) {  this.accountID = accountID; } /**  * @return the 账户名  */ public String getName() {  return name; } /**  * @param 账户名 the name to set  */ public void setName(String name) {  this.name = name; } /**  * @return the 消费金额  */ public double getAmount() {  return amount; } /**  * @param 消费金额 the amount to set  */ public void setAmount(double amount) {  this.amount = amount; } /**  * @return the 消费日期  */ public String getDate() {  return date; } /**  * @param 消费日期 the date to set  */ public void setDate(String date) {  this.date = date; } /**  * @return the 消费场所  */ public String getAddress() {  return address; } /**  * @param 消费场所 the address to set  */ public void setAddress(String address) {  this.address = address; } }
3.定义job-context.xml批处理基础信息
该配置文件主要是配置作业仓库、作业调度器、事务管理器,具体代码如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值