diff --git a/integrations/spring/.gitignore b/integrations/spring/.gitignore
new file mode 100644
index 000000000000..e600ed19d925
--- /dev/null
+++ b/integrations/spring/.gitignore
@@ -0,0 +1,20 @@
+# file system
+.DS_Store
+
+# ide
+.idea/**
+!.idea/icon.svg
+!.idea/vcs.xml
+
+# Project exclude paths
+**.log
+**/target
+**/.classpath
+**/.project
+**/.factorypath
+
+# mvn
+dependency-reduced-pom.xml
+
+# log file
+logs/
diff --git a/integrations/spring/README.md b/integrations/spring/README.md
new file mode 100644
index 000000000000..81ba9d0f9356
--- /dev/null
+++ b/integrations/spring/README.md
@@ -0,0 +1,11 @@
+# Apache OpenDALâ„¢ Spring Integrations
+
+Apache OpenDALâ„¢ Spring Integrations provide seamless integration between the Apache OpenDAL library and Spring applications. This project offers both synchronous and asynchronous configurations tailored to different Spring environments.
+
+## Overview
+
+This project includes three primary modules:
+
+- opendal-spring: Core integration module for [Spring](https://spring.io/) applications.
+- opendal-spring-boot-starter: Synchronous starter for [Spring WebMVC](https://docs.spring.io/spring-framework/reference/web/webmvc.html).
+- opendal-spring-boot-starter-reactor: Asynchronous starter for [Spring WebFlux](https://docs.spring.io/spring-framework/reference/web/webflux.html).
diff --git a/integrations/spring/opendal-spring-boot-starter-reactive/pom.xml b/integrations/spring/opendal-spring-boot-starter-reactive/pom.xml
new file mode 100644
index 000000000000..2066d05a465a
--- /dev/null
+++ b/integrations/spring/opendal-spring-boot-starter-reactive/pom.xml
@@ -0,0 +1,47 @@
+
+
+
+ 4.0.0
+
+ org.apache.opendal
+ spring-boot-opendal-parent
+ 0.1.0-SNAPSHOT
+
+
+ opendal-spring-boot-starter-reactive
+
+
+
+ org.apache.opendal
+ opendal-spring
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
+
+
+
+
diff --git a/integrations/spring/opendal-spring-boot-starter/pom.xml b/integrations/spring/opendal-spring-boot-starter/pom.xml
new file mode 100644
index 000000000000..e3c3abf74135
--- /dev/null
+++ b/integrations/spring/opendal-spring-boot-starter/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+ 4.0.0
+
+ org.apache.opendal
+ opendal-spring-parent
+ 0.1.0-SNAPSHOT
+
+
+ opendal-spring-boot-starter
+
+
+
+ org.apache.opendal
+ opendal-spring
+ ${project.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
+
+
+
diff --git a/integrations/spring/opendal-spring/pom.xml b/integrations/spring/opendal-spring/pom.xml
new file mode 100644
index 000000000000..8524a5d93917
--- /dev/null
+++ b/integrations/spring/opendal-spring/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+ 4.0.0
+
+ org.apache.opendal
+ opendal-spring-parent
+ 0.1.0-SNAPSHOT
+
+
+ opendal-spring
+
+
+
+ io.projectreactor
+ reactor-core
+ true
+
+
+ org.springframework.boot
+ spring-boot
+
+
+
+
diff --git a/integrations/spring/pom.xml b/integrations/spring/pom.xml
new file mode 100644
index 000000000000..87a734c698de
--- /dev/null
+++ b/integrations/spring/pom.xml
@@ -0,0 +1,66 @@
+
+
+
+ 4.0.0
+
+ org.apache.opendal
+ opendal-spring-parent
+ 0.1.0-SNAPSHOT
+ pom
+
+ opendal-spring
+ opendal-spring-boot-starter
+ opendal-spring-boot-starter-reactive
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot.version}
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+ 0.47.0
+ 3.3.2
+
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.apache.opendal
+ opendal
+ ${opendal.version}
+
+
+
+