Prezado Rodrigo Boa tarde, Estou com dúvidas na inicialização das validações pelo Construtor no Reajuste Service:
private List<ValidacaoReajuste> validacoes;
public ReajusteService(List<ValidacaoReajuste> validacoes) {
this.validacoes = validacoes;
}
Pelo que entendi, Se o projeto fosse Spring Boot, para fazer referência ao Service então eu criaria uma variável privada e faria injeção de dependência usando o @Autowired, e acredito que por alguma mágica do Java, a variável private List validacoes seria preenchida com as validações das classes que implementaram sua interface, é isso?
Digo isso, porque importei o projeto da Aula, criei as validações considerando a interface, e criei uma classe para teste, porém não consegui inicializar a chamada do ReajusteService(), e fazê-lo rodar as validações. Como seria a chamada do ReajusteService(), tendo como parâmetro uma lista de uma interface (List validacoes)?
segue o teste que fiz:
public class ExecutorService {
public static void main(String[] args) {
Funcionario funcionario = new Funcionario("Pedro","1111111", Cargo.ESPECIALISTA, BigDecimal.valueOf(7000.00));
ReajusteService service = new ReajusteService();
service.reajustarSalarioDoFuncionario(funcionario, BigDecimal.valueOf(600.00));
System.out.println(" Reajuste" + funcionario.getSalario());
}
}
E caso essa interface ValidacaoReajuste possuir outros métodos com assinaturas diferentes, também funcionaria?
Atenciosamente, Geovane Lemos