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