Example:
public interface ExampleService{}
@Repository
public class ExampleServiceImpl implementsExampleService{}
The main reason I found is that the 'xxxService' interface provides structure for all Services inheriting from it.
But I noticed that this duplication of classes gets out of hand quickly.
For example, I might have:
PersonService
PersonServiceImpl
EmployeeService
PersonServiceImpl
ContractEmployeeService
ContractEmployeeServiceImpl
FullTimeEmployeeService
FullTimeEmployeeServiceImpl
PartTimeEmployeeService
PartTimeEmployeeServiceImpl
ListItemService
ListItemServiceImpl
ListService
ListServiceImpl
...
This is just for 7 classes!
What is the point of having so many duplicate and empty classes if the entire point is to implement them anyway?