spring-boot-3-reactive is a reactive Spring Boot 3 project built with Java 17. It utilizes WebFlux to provide asynchronous and non-blocking handling of requests. The project also integrates Docker Compose to set up a MariaDB database for persistent storage and uses Flyway for managing database migrations. Additionally, MapStruct is employed to simplify the mapping between Data Transfer Objects (DTOs) and Data Access Objects (DAOs).
Follow these steps to set up the project locally:
- Java 17: Install Java 17 on your system. You can find the installation instructions here.
- Maven: Install Maven for dependency management and building. Instructions can be found here.
- Docker Compose: Set up Docker Compose to run the MariaDB database. Refer to the official documentation for installation instructions.
-
Clone the repository:
git clone https://github.com/Gescof/spring-boot-3-reactive.git
-
Navigate to the project directory:
cd spring-boot-3-reactive
-
Build the project:
mvn clean package
-
Set up the MariaDB database using Docker Compose:
docker-compose up -d
-
Apply initial database schema using Flyway:
mvn flyway:migrate
-
Run the Spring Boot application:
mvn spring-boot:run
-
The application will be accessible at:
http://localhost:8080
The "spring-boot-3-reactive" project provides a RESTful API that follows reactive principles using Spring WebFlux. The API offers basic CRUD (Create, Read, Update, Delete) operations for managing data. The API is designed to be reactive, allowing for asynchronous and non-blocking handling of requests. This ensures efficient resource utilization and scalability, making it suitable for high-concurrency scenarios.
Please note that this usage guide provides a basic overview of the API's CRUD operations. For more detailed information about API endpoints, request and response formats, and any additional functionalities, refer to the API documentation or explore the codebase.
- Spring Boot 3 with Java 17
- WebFlux for reactive programming
- Maven for dependency management and building
- Docker Compose to set up a MariaDB database
- Flyway for managing database migrations and initial schema setup
- MapStruct for easing mapping between DTOs and DAOs
MIT License