Can @Component, @Repository and @Service annotations be used interchangeably in Spring or do they provide any particular functionality besides acting as a notation device?>
Repository and Service are children of Component annotation. So, all of them are Component. Repository and Service just expand it.
How exactly?
Service has only ideological difference: we use it for services. Repository has particular exception handler.