- Java 17 compiler and runtime, e.g. OpenJDK 17
The convention which is used in the project is Separation by layers (e.g. service layer, repository layer, controller layer etc.)
For example:
com
|-- example
| `-- sampleapplication
| |-- controller
| |-- HelloWorldController.java
| |-- LoginController.java
| |-- model
| |-- User.java
| |-- Group.java
| |-- service
| |-- UserService.java
| |-- repository
| |-- UserRepository.java
Some rules:
- Data classes related to business logic should be normally placed in the
model
package - Database-related data classes should be placed in the
model/entity
package - REST-related data classes should be placed in the
model/rest
package
Note
These rules are not strict and can be violated in certain cases.
./gradlew bootRun
./gradlew test
./gradlew spotlessApply