A modern, extensible Spring Boot 3 project template with advanced features for scalable enterprise applications.
This repository provides a robust starting point for Spring Boot 3 projects, including multi-database support, advanced transaction management, real-time capabilities, and best practices for modern Java development.
- Multi-database configuration and multiple transaction managers (support for connecting and managing more than one database, handling transactions across multiple databases)
- Real-time integration with Firebase
- Base entity, base controller, base service, and common mapper for code reusability
- Spring Data JPA for data access
- Spring Web for building RESTful APIs
- Spring Security for authentication and authorization
- MapStruct and Lombok integration for DTO/entity mapping and reduced boilerplate
- Jakarta Validation API and Hibernate Validator for bean validation
- Swagger/OpenAPI documentation (SpringDoc)
- SonarQube Maven Plugin for code quality analysis
- Docker & Docker Compose support for containerization
- Spring Boot DevTools for enhanced development experience
- Spring Boot Actuator for monitoring and management
- Internationalization (i18n) support
- Excel import/export functionality
- Logging with AOP
- Java 17 or higher
- Maven 3.8 or higher
- Docker (for Docker Compose)
- Clone the repository:
git clone https://github.com/shounoop/springboot3-template.git cd codebase-spring-boot-3
- Configure your database(s) and environment variables as needed in
src/main/resources/application.yml
.
mvn spring-boot:run
mvn clean package
java -jar target/spring-boot-3-0.0.1-SNAPSHOT.jar
docker-compose up -d
- How to Implement Internationalization (i18n) in Spring Boot
- Using Swagger 3 with Spring Boot 3
- Integrating SonarQube with Spring Boot:
- How to import data from Excel file in Spring Boot
- Export Data to Excel file in Spring Boot
- Logging With AOP in Spring
- Using MapStruct With Lombok
- Implement base entity, base controller, base service, and common mapper for code reusability.
- Enable concurrent Excel file export using CompletableFuture for efficient asynchronous processing.
- Integrate a custom executor (ThreadPoolTaskExecutor) with Spring Boot's @Async for advanced async task management.
- Add authentication and authorization using Keycloak.
- Integrate real-time communication with Socket.IO and MQTT.
- Add MinIO for object storage solutions.
- Implement caching with Redis and Memcached.
- Integrate message queues: Kafka, RabbitMQ, and ActiveMQ.
- Expand unit testing coverage.
- Add support for DOCX file manipulation using Docx4j.
- Set up monitoring and logging with Prometheus, ELK Stack, and Grafana.
- Enable and configure CORS for cross-origin requests.
- Export word with template using docx4j
- Swagger: Strategies for microservices
Contributions are welcome! Please open issues or submit pull requests for improvements, bug fixes, or new features.