@Autowired. Meu código funciona e não sei como

2 respostas Resolvido
D

eu aprendi que ao usar @Autowired é a mesma coisa que dizer

= new “Objeto()”

Eu estou usando o JavaMail e a minha classe está assim:

@Service
public class EmailService {

private JavaMailSender javaMailSender;

@Autowired

public EmailService(JavaMailSender javaMailSender) {

this.javaMailSender = javaMailSender;

}

public void EnviarEmailDeConfirmacao(String email, String hashConfirmacao) {

SimpleMailMessage mail = new SimpleMailMessage();

mail.setTo(email);

mail.setFrom(<a>"[email removido]</a>");

mail.setSubject(testanto);

mail.setText(este e um email teste);

javaMailSender.send(mail);

}

}

e na classe que chamo ele eu declaro ele assim:

@Autowired
EmailService emailService;

e já saio usando ele:

emailService.EnviarEmailDeConfirmacao(email, hashConfirmacao);

Na classe EmailService tem um cronstrutor que pede como parametro uma instancia de JavaMailSender
Em lugar nenhum eu passe essa instancia, nem sei onde que isso fica
E o pior é que funciona!!!
mas como? pq meu construtor pede uma instancia e eu não passei ela

2 Respostas

Rodrigo_Void
Solucao aceita

Talvez vc entenda com este artigo:

D

Obrigado, entendi bem agora

Criado 18 de abril de 2018
Ultima resposta 19 de abr. de 2018
Respostas 2
Participantes 2