Spring Batch从csv文件读取再生成csv文件
目录结构为src/main/java/com/ermdashboard.SpringBatchCSV
package com.ermdashboard.SpringBatchCSV;
importorg.springframework.batch.item.ItemProcessor;
importorg.springframework.stereotype.Component;
/**
* ItemProcessor类。
*/
@Component("csvItemProcessor")
public class CsvItemProcessorimplementsItemProcessor {
/**
*对取到的数据进行简单的处理。
*
*@paramstudent
*处理前的数据。
*@return处理后的数据。
*@exceptionException
*处理是发生的任何异常。
*/
public Student process(Student student) throws Exception {
/*合并ID和名字*/
student.setName(student.getID() + "--" + student.getName());
/*年龄加2 */
student.setAge(student.getAge() + 2);
/*分数加10*/
student.setScore(student.getScore() +10);
/*将处理后的结果传递给writer */
System.out.println(student.getName());
return student;
}
}
package com.ermdashboard.SpringBatchCSV;
import org.springframework.batch.core.Job;
importorg.springframework.batch.core.JobExecution;
importorg.springframework.batch.core.JobParameters;
import org.springframework.batch.core.launch.JobLauncher;
importorg.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class JobLaunch {
/**
*@paramargs
*/
public static void main(String[] args) {
String[]springConfig =
{ "application.xml",
"batch.xml"
};
ApplicationContext context = newClassPathXmlApplicationContext(springConfig);
JobLauncher launcher = (JobLauncher) context.getBean("jobLauncher");
Job job = (Job) context.getBean("csvJob");
try {
/*运行Job */
JobExecution result = launcher.run(job,newJobParameters());
/*处理结束,控制台打印处理结果*/
System.out.println(result.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.ermdashboard.SpringBatchCSV;
/** Pojo类_Student */
public class Student {
/** ID */
private String ID = "";
/**名字*/
private String name = "";
/**年龄*/
private int age = 0;
/**分数*/
private float score = 0;
public String getID(){
return ID;
}
public void setID(String ID){
this.ID = ID;
}
public String getName(){
return name;
}
public void setName(String name){