A collection of spring CRUD operations for later reference.
This project uses Java 17, Spring 2.7, Maven & Swagger and was initialized with https://start.spring.io/.
- Swagger Ui doc: http://localhost:8080/swagger-ui.html
- Import repo
- Build maven project
- Run SpringcrudApplication.java (located in src.main.java.com.meintrup.springcrud.SpringcrudApplication)
- Java 17
- Maven
- Spring 2.7
- Spring Boot
- Documentation: Swagger (springdoc-openapi)
- Webserver: Tomcat
- Logging: SLF4J (Abstraction) & Log4j (Specific login implementation)
- Annotations: Lombok
- Data access: ORM (Hibernate)
- Database: H2 in memory
- Init Spring Boot proj
- Add Swagger support with openapi
- Add Logging with Lombok, SLF4j & Log4j
- Create some rest & view endpoints to start
- Create Unit test (JUnit5)
- Add aspect for endpoint error handling
- Write integration test to test error handling aspect for an endpoint, especially 400 on missing attributes & missing endpoint
- Implement an interchangeable db connection that (first) does not require a running db server
- Implement Repository to store user data in db
- Implement endpoints that store user data in db
- Implement post endpoint
- Consume Rest endpoints using OpenFeign
- Implement delete endpoint
- Implement patch endpoint
- Implement authentication
- Implement websocket
- Check all TODOs
- CI/CD