Backend REST API built with Java, Spring Boot and MySQL for learning and practicing backend development concepts.
This repository contains my studies and experiments with Spring Boot.
The current project is a REST API built with Java and Spring Boot, implementing CRUD operations for a Person entity. The goal is to practice backend development concepts such as layered architecture, RESTful APIs, dependency injection, exception handling, and database integration with JPA.
- Java 21
- Spring Boot 3.4
- Spring Data JPA
- MySQL
- Maven
- CRUD operations for Person entities
- RESTful API design
- Layered architecture (Controller → Service → Repository)
- Exception handling
- JPA/Hibernate integration
- Dependency Injection
| Method | Endpoint |
|---|---|
| GET | /person |
| GET | /person/{id} |
| POST | /person |
| PUT | /person |
| DELETE | /person/{id} |
{
"firstName": "Arthur",
"lastName": "da Silva Mendes de Almeida"
"address": "Rua A, Bahia",
"gender": "Male"
}{
"firstName": "Arthur",
"lastName": "da Silva Mendes de Almeida"
"address": "Rua A, Bahia",
"gender": "Male"
}src/main/java/com/thurdass/springboot_lab
├── controllers
├── services
├── repository
├── model
└── exception
git clone https://github.com/thurdass/springboot-lab.git
cd springboot-labEdit the application.properties file:
spring.datasource.url=jdbc:mysql://localhost:3306/springboot_lab
spring.datasource.username=root
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=updatemvn spring-boot:runThe API will be available at:
http://localhost:8080
- Bean Validation
- Spring Security + JWT
- Swagger / OpenAPI
- Unit Tests with JUnit
- Docker
Arthur Almeida
