This repo is a suitable practice demo for Springboot, trying to demonstrate a good(maybe) practice of using Springboot with these libraries/artifacts:
- Spring Boot
- MyBatis for database access.
- Flyway for database schema migration/versioning.
- PostgreSQL as the database.
- JUnit 5 for unit testing.
- Testcontainers for better mapper test.
- MapStruct-plus for easier mapping between DTO and entity.
- Knife4j for better OpenAPI swagger documents.
| Dependency | Version | Remark |
|---|---|---|
| JDK | 17 | |
| PostgreSQL | 15 | |
| Springboot | 3.5.4 | |
| Flyway | 11.7.2 | inherited from Springboot |
| JUnit | 5.12.2 | inherited from Springboot |
| MyBatis | 3.5.19 | from Mybatis-spring-boot-starter |
| Testcontainer | 1.21.3 | from spring-boot-testcontainers |
| MapStruct-plus | 1.4.8 | |
| Knife4j | 4.4.0 |
Docs about:
- Common class like Result.
- File structure about springboot web application.
- Mock test usage.