In these recent years, I have been working on Spring Boot, MVC, Webflux, Cloud, etc.
To enable automatic serialization and deserialization for incoming json payload and outgoing json response.
Interface is used to oblige business logic and contract on @Service-annotated classes.
To simplify boilerplate of code and query over database CRUD operation.
I prefer to use Enum for helper classes (i.e. classes containing static method only) in order to:
- Avoid empty constructor
- Ensure singleton (i.e. no need to create object)
Despite there is a debate over lombok, I do not mind using it to reduce boilerplate code.