开发手册 欢迎您!
软件开发者资料库

Spring Batch - 基本应用程序

Spring Batch Basic应用程序 - 从基本概念到高级概念的简单简单步骤学习Spring Batch,其中包括概述,环境,体系结构,应用程序,配置,读取器,写入器和处理器,基本应用程序,XML到MySQL,CSV到XML,MySQL到XML,MySQL到平面文件。

本章向您介绍基本的Spring Batch应用程序.它只需执行 tasklet 即可显示消息.

我们的Spring Batch应用程序包含以下文件 :

  • 配置文件 : 这是一个XML文件,我们在其中定义作业和作业的步骤. (如果申请也涉及读者和作者,那么读者作家的配置也包含在此文件中.)

  • Context.xml : 在此文件中,我们将定义诸如作业存储库,作业启动器和事务管理器之类的bean.

  • Tasklet类 : 在本课程中,我们将编写处理代码作业(在这种情况下,它会显示一条简单的消息)

  • Launcher class :  ;在这个类中,我们将通过运行Job启动器来启动批处理应用程序.

jobConfig.xml

以下是我们的示例Spring Batch应用程序的配置文件.

                                                                     

Context.xml

以下是我们的Spring Batch应用程序的 context.xml .

                                                 

Tasklet.java

以下是显示简单消息的Tasklet类.

import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.scope.context.ChunkContext;import org.springframework.batch.core.step.tasklet.Tasklet;import org.springframework.batch.repeat.RepeatStatus;  public class MyTasklet implements Tasklet {       @Override    public RepeatStatus execute(StepContribution arg0, ChunkContext arg1) throws Exception {        System.out.println("Hello This is a sample example of spring batch");       return RepeatStatus.FINISHED;    } }

App.java

以下是批量生产的代码过程.

import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.launch.JobLauncher; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {    public static void main(String[] args)throws Exception {         // System.out.println("hello");       String[] springConfig  =  {"a_sample/job_hello_world.xml"};              // Creating the application context object        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);             // Creating the job launcher       JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");         // Creating the job       Job job = (Job) context.getBean("helloWorldJob");         // Executing the JOB       JobExecution execution = jobLauncher.run(job, new JobParameters());       System.out.println("Exit Status : " + execution.getStatus());    }    }

执行时,上面的SpringBatch程序将产生以下输出 :

Apr 24, 2017 4:40:54 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO:Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@2ef1e4fa: startup date [Mon Apr 24 16:40:54 IST 2017]; root of context hierarchy Apr 24, 2017 4:40:54 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions  Apr 24, 2017 4:40:54 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions  INFO: Loading XML bean definitions Apr 24, 2017 4:40:54 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons Apr 24, 2017 4:40:55 PM org.springframework.batch.core.launch.support.SimpleJobLauncher afterPropertiesSet INFO: No TaskExecutor has been set, defaulting to synchronous executor. Apr 24, 2017 4:40:55 PM org.springframework.batch.core.launch.support.SimpleJobLauncher$1 run INFO: Job: [FlowJob: [name=helloWorldJob]] launched with the following parameters: [{}] Apr 24, 2017 4:40:55 PM org.springframework.batch.core.job.SimpleStepHandler handleStep INFO: Executing step: [step1] Hello This is a sample example of spring batch Apr 24, 2017 4:40:55 PM org.springframework.batch.core.launch.support.SimpleJobLauncher$1 run INFO: Job: [FlowJob: [name=helloWorldJob]] completed with the following parameters: [{}] and the following status: [COMPLETED] Exit Status : COMPLETED