场景说明
个人使用信用卡消费,银行定期发送银行卡消费账单,本例模拟银行处理个人信用卡消费对账单对账,银行需要定期地把个人消费的记录导出成CSV格式的文件,然后交给对账系统处理,本例模拟银行读入CSV文件,经过处理后,生成新的对账单。
项目结构
CreditBill.java :表示信用卡消费记录领域对象
CreditBillProcessor.java :记录处理类,本场景中没有任何业务操作,仅打印账单信息。
JobLaunch.java :调用批处理作业类。
JobLaunchTest.java : JUnit单元测试类,使用Spring提供的测试框架类。
credit-card-bill-201303.csv:原始账单文件,存放账单消费条目。
job.xml:作业定义文件
job-context.xml:SpringBatch批处理任务需要的基本信息。
CreditBill.java
/**
* 信用卡对账单模型.<br>
* @author bruce.liu(mailto:jxta.liu@gmail.com)
* 2013-1-6下午09:56:02
*/
public class CreditBill {
private String accountID = ""; /** 银行卡账户ID */
private String name = ""; /** 持卡人姓名 */
private double amount = 0; /** 消费金额 */
private String date; /** 消费日期 ,格式YYYY-MM-DD HH:MM:SS*/
private String address; /** 消费场所 **/
job-context.xml
job-context.xml 定义了批处理任务中需要的基础设施,主要配置有 作业仓库、作业调度器、事务管理器
<!-- 作业仓库 -->
<