Services
Regras de negócio! Aqui faremos validação e verificação de métodos que iniciamos no repository.
Terá acesso aos repositories (iremos importa-los) ou a outras classes do tipo Service com autowired.
É a camada intermediária da arquitetura MSC, responsável por abstrair as regras de negócio e controlar o acesso aos dados.
Isso deixará a camada model mais leve e objetiva.
Essa camada também será responsável pelo acesso aos dados, validará se as informações recebidas do Controller são suficientes para completar a requisição.
Centralizar o acesso aos dados e funções externas;
Abstrair regras de negócios;
Não ter nenhum "conhecimento" sobre a camada Model (EX: Query SQL);
Não receber nada relacionada ao HTTP (Request ou Response).
Atualizado