O que é Java ServiceLoader?
Como usar o @AutoService?
Como integrar com o (build) processador de anotações do Eclipse?
Java ServiceLoader
É um provedor simples de serviços disponibilizado pela classe java.util.ServiceLoader. As interfaces devem ser registradas como arquivos dentro da pasta META-INF/services/ e as implementações registradas no conteúdo dos arquivos.