A beginner-friendly Spring Boot project built to learn the fundamentals of backend development using Spring Boot, Spring Data JPA, and the H2 Database.
This project follows a layered architecture and implements complete CRUD (Create, Read, Update, Delete) operations for products. The code is written with detailed comments to understand the purpose of important classes, annotations, and methods.
- RESTful API development
- Complete CRUD Operations
- Spring Boot MVC
- Spring Data JPA
- Hibernate ORM
- H2 In-Memory Database
- Layered Architecture
- Lombok Integration
- Well-commented code for learning
- Maven Project
- Java
- Spring Boot
- Spring Data JPA
- Hibernate
- H2 Database
- Maven
- Lombok
src
├── main
│ ├── java
│ │ └── com.bappy.webApp
│ │ ├── Controller
│ │ ├── Service
│ │ ├── Repo
│ │ ├── Model
│ │ └── WebAppApplication.java
│ └── resources
│ └── application.properties
└── test
| Method | Endpoint | Description |
|---|---|---|
| GET | /products |
Get all products |
| GET | /product/{id} |
Get product by ID |
| POST | /product |
Create a new product |
| PUT | /product |
Update an existing product |
| DELETE | /product/{id} |
Delete a product |
Endpoint names may vary slightly depending on the controller implementation.
This project uses the H2 In-Memory Database for development and learning.
Configuration is available in:
src/main/resources/application.properties
H2 Console:
http://localhost:8080/h2-console
git clone https://github.com/bappy-mallick/springboot-learning.gitcd springboot-learning./mvnw spring-boot:runor simply run the project from your IDE.
- Spring Boot Fundamentals
- REST APIs
- Controllers
- Services
- Repository Layer
- Dependency Injection
- Spring Beans
- Spring Data JPA
- Hibernate ORM
- Entity Mapping
- CRUD Operations
- H2 Database
- Maven Project Structure
- Lombok
This repository is a personal learning project created to understand backend development with Spring Boot.
The primary goal is to build a strong foundation before developing larger backend projects such as an E-commerce Backend and other production-ready applications.
Bappy Mallick
GitHub: https://github.com/bappy-mallick
⭐ If you found this repository helpful, consider giving it a star.