尝试在IntelliJ中运行Spring Batch的快速入门示例

由于我希望深入学习Spring Batch,所以我在IntelliJ上尝试了运行Spring Batch的快速入门。这主要是关于运行快速入门的步骤总结,适合超级初学者。

执行步骤 (shí shī bù

创建一个Maven项目

当阅读了Quick Start后,可以看出可以使用Maven或Gradle来进行操作。本次决定使用Maven,因此将创建一个Maven项目。

    1. 打开IntelliJ,选择[文件]→[新建]→[项目]。

 

    1. 选择Maven,选择项目SDK,点击[下一步]。

 

    1. 输入GroupId和ArtifactId,点击[下一步]。

 

    输入项目名称和项目位置,点击[完成]。

快速启动的实施和操作验证

在此我们将使用最新版本的Spring Batch,即3.0.7版本。
另外,在快速开始中提到了使用Spring Boot能够提高开发速度,因此我们决定使用它。

步骤1:配置pom.xml

根据Quick Start的内容,在pom.xml的dependencies中添加spring-boot-starter-batch。同时,不要忘记在parent中设置spring-boot-starter-parent。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-batch</artifactId>
    </dependency>
</dependencies>

重点
spring-boot-starter-parent是在构建环境中集成Spring Boot提供的基本配置所必需的内容。
由于在Quick Start中没有这个parent的设置,所以需要额外添加。
配置示例是从Spring Boot的Quick Start中借用的。

步骤2. 实现Configuration类

创建一个名为Configuration的类来设置作业。
基本上,按照快速入门的内容创建一个类,然后将其复制粘贴。

@Configuration
@EnableBatchProcessing
@EnableAutoConfiguration
public class BatchConfiguration {

    @Autowired
    private JobBuilderFactory jobBuilderFactory;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;

    @Bean
    public Step step1() {
        return stepBuilderFactory.get("step1")
                .tasklet(new Tasklet() {
                    public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) {
                        return null;
                    }
                })
                .build();
    }

    @Bean
    public Job job(Step step1) throws Exception {
        return jobBuilderFactory.get("job1")
                .incrementer(new RunIdIncrementer())
                .start(step1)
                .build();
    }
}

第3步。实现Main类。

实现一个执行 Job 的 Main 类。这里也将复制粘贴 Quick Start 的内容。

public class Main {
    public static void main(String [] args) {
        System.exit(SpringApplication.exit(SpringApplication.run(
                BatchConfiguration.class, args)));
    }
}

执行步骤4。

image.png

看起来是因为未定义DB驱动程序而显示这样的结果。
因此,请在pom.xml中添加DB驱动程序并准备好DB连接信息定义文件。
这次我们将使用H2作为例子。

<dependencies>
    <!-- 省略 -->        
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>
</dependencies>
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:batch;DB_CLOSE_DELAY=-1
spring.datasource.username=sa
spring.datasource.password=
image.png

在设置与数据库相关的设定比较繁琐的情况下,您可以通过注释掉@EnableAutoConfiguration注解来避免错误。

最后

我第一次投稿了。
以后我想要以Spring Batch为主题发布各种内容。

bannerAds