diff --git a/spring-cloud-starter-single-step-batch-job/pom.xml b/spring-cloud-starter-single-step-batch-job/pom.xml
index bcb1ddfd..201a66b2 100644
--- a/spring-cloud-starter-single-step-batch-job/pom.xml
+++ b/spring-cloud-starter-single-step-batch-job/pom.xml
@@ -13,6 +13,7 @@
1.15.0
1.15.0
1.0.8
+ 2.5.3.RELEASE
@@ -31,7 +32,6 @@
true
${spring-boot.version}
-
org.springframework.boot
spring-boot-starter-test
@@ -82,6 +82,47 @@
com.fasterxml.jackson.core
jackson-annotations
+
+ org.springframework.cloud
+ spring-cloud-stream-binder-kafka
+ 3.1.0-SNAPSHOT
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-params
+ test
+
+
+ org.springframework.kafka
+ spring-kafka-test
+ ${spring-kafka-version}
+ test
+
+
+ org.springframework.kafka
+ spring-kafka
+ ${spring-kafka-version}
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.platform
+ junit-platform-launcher
+ test
+
diff --git a/spring-cloud-starter-single-step-batch-job/src/main/java/org/springframework/cloud/task/batch/autoconfigure/kafka/KafkaItemReaderAutoConfiguration.java b/spring-cloud-starter-single-step-batch-job/src/main/java/org/springframework/cloud/task/batch/autoconfigure/kafka/KafkaItemReaderAutoConfiguration.java
new file mode 100644
index 00000000..c91b7473
--- /dev/null
+++ b/spring-cloud-starter-single-step-batch-job/src/main/java/org/springframework/cloud/task/batch/autoconfigure/kafka/KafkaItemReaderAutoConfiguration.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2020-2020 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.cloud.task.batch.autoconfigure.kafka;
+
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.Properties;
+
+import org.springframework.batch.item.kafka.KafkaItemReader;
+import org.springframework.batch.item.kafka.builder.KafkaItemReaderBuilder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.util.StringUtils;
+
+/**
+ *
+ * AutoConfiguration for a {@code KafkaItemReader}.
+ *
+ * @author Glenn Renfro
+ * @since 2.3
+ */
+@Configuration
+@EnableConfigurationProperties({ KafkaProperties.class, KafkaItemReaderProperties.class })
+@AutoConfigureAfter(BatchAutoConfiguration.class)
+public class KafkaItemReaderAutoConfiguration {
+
+ @Autowired
+ private KafkaProperties kafkaProperties;
+
+ @Bean
+ @ConditionalOnMissingBean
+ @ConditionalOnProperty(prefix = "spring.batch.job.kafkaitemreader", name = "name")
+ public KafkaItemReader