Dependencies used are as follows:
3 layer Architecture : Client <--> Controller <--> Service <--> DAO <--> DB - Controller - Keeps all spring REST controllers - Define end points - Service - all service classes that hold business logic - DAO - Repository layer - keep all spring JPA data repository - Communicates with database - controller - Contains all Spring MVC controllers - entity - Contains all JPA entities - service - Contains service interfaces - service.impl - Contains servie classes - utils - Contains utilities and classes - repository - Contains Spring Data JPA repositories. (JPA repositories are by default Transactional. Default implementation class of the JpaRepository interface is SimpleJpaRepository class) - exception - Contains all custom exceptions - payload - Contains DTOs (Data Transfer Objects) that act as a payload between client and server