blob: fa7899b21898c75808287dee1579163fcf3009ec [file] [log] [blame] [view]
# 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-reactive: Asynchronous starter for [Spring WebFlux](https://docs.spring.io/spring-framework/reference/web/webflux.html).
## Features
- SpringBoot autoconfiguration support for an OpenDALTemplate/ReactiveOpenDALTemplate instance.
## Prerequisites
This project requires JDK 17 or later and supports Spring 6 and Spring Boot 3.
## Getting Started With Spring Boot Starter
Below is a brief example demonstrating how to use the OpenGemini Spring Boot Starter in a Java application.
### Maven Configuration
Add the following dependency to your project's `pom.xml`:
```xml
<dependency>
<groupId>org.apache.opendal</groupId>
<artifactId>opendal-spring-boot-starter</artifactId>
<version>${version}</version>
</dependency>
```
### SpringBoot Application Configuration
Following properties can be used in your `application.yaml`:
```yaml
spring:
opendal:
schema: "fs"
conf:
root: "/tmp"
```
## Getting Started With Spring Boot Reactive Starter
Below is a brief example demonstrating how to use the OpenGemini Spring Boot Starter in a Java application.
### Maven Configuration
Add the following dependency to your project's `pom.xml`:
```xml
<dependency>
<groupId>org.apache.opendal</groupId>
<artifactId>opendal-spring-boot-starter-reactive</artifactId>
<version>${version}</version>
</dependency>
```
### SpringBoot Reactive Application Configuration
Following properties can be used in your `application.yaml`:
```yaml
spring:
opendal:
schema: "fs"
conf:
root: "/tmp"
```