spring boot(学习笔记第十九课)
- Spring boot的batch框架,以及Swagger3(
OpenAPI
)整合
学习内容:
- Spring boot的batch框架
- Spring boot的Swagger3(
OpenAPI
)整合
1. Spring boot batch框架
Spring Batch
是什么Spring Batch
是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。Spring Batch
的执行流程主要包括以下几个步骤:- 配置JobLaunch
- 配置Job
- 配置Step
- 配置ItemReader来读取数据
- 配置ItemProcessor来处理数据
- 配置ItemWriter来写数据
- 配置JobRepository来管理作业状态
- 创建并运行作业
- 练习使用
Spring Batch
Spring Batch Guide(可以参照最新的官方guide)
- 加入必要的依赖(这里使用
jdbc
连接mysql
数据库)<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-batch</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
Spring Batch
会创建出自己管理的表,所以要执行sql
进行创建。sql
都已经准备在导入的依赖中准备好了。spring.batch.jdbc.schema=classpath:/org/springframework/batch/core/schema-mysql.sql
将上面的sql
拷贝出来,在msql
数据库中执行。
- 配置
application.properties
进行数据库设置。
本来spring.batch.jdbc.initialize-schema=always
能够进行自动创建Spring Batch
需要的table
,但是没有成功,手动创建了。spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=finlay spring.datasource.password=123456 spring.batch.jdbc.initialize-schema=always spring.batch.jdbc.table-prefix=BATCH_ spring.batch.jdbc.schema=classpath:/org/springframework/batch/core/schema-mysql.sql spring.batch.job.enabled=false
- 准备数据文件
data.csv
。
注意,接下来要在后面的代码中,load csv文件的时候,(new ClassPathResource("data.csv"))
从ClassPath
中取得,所以事先放在/resources
这个ClassPath
的直下。
- 准备
User
的entity
类。@Data public class User { private Integer id; private String name; private St