2016-08-01 4 views
0

Im пишущий простой почтовый отправитель для моего приложения для загрузки весны. Однако у меня возникла проблема с созданием компонента. Вот мой MailSender классВесенняя обувь и JavaMailSender NoSuchBeanDefinitionException

@Component 
public class MailSender { 
    @Autowired 
    private JavaMailSender javaMailSender; 

    public void send() { 
     MimeMessage mail = javaMailSender.createMimeMessage(); 
     try { 
      MimeMessageHelper helper = new MimeMessageHelper(mail, true); 
      helper.setTo("[email protected]"); 
      helper.setReplyTo(""); 
      helper.setFrom("m[email protected]"); 
      helper.setSubject("Lorem ipsum"); 
      helper.setText("Lorem ipsum dolor sit amet [...]"); 
     } catch (MessagingException e) { 
      e.printStackTrace(); 
     } finally {} 
     javaMailSender.send(mail); 
     System.out.println("Mail has been sent !"); 

    } 

} 

Далее я пытаюсь создать autowired экземпляр MailSender в главном классе, и вот где я получаю ошибку

@SpringBootApplication 

public class myApplication { 

    private static final Logger LOGGER = LoggerFactory.getLogger(myApplication.class); 
    @Autowired 
    private MailReceiver mailReceiver; 
    @Autowired 
    private MailSender ms; 

    public static void main(String[] args) { 
     SpringApplication.run(myApplication.class, "--debug"); 
    } 
... 
//more code 

И ошибка

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'myApplication': Injection 
of autowired dependencies failed; nested exception is 
org.springframework.beans.factory.BeanCreationException: 
Could not autowire field: private info.some.mail.MailSender 
info.some.myApplication.ms; nested exception is 
org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No qualifying bean of type [info.some.mail.MailSender] 

Может вы мне помогаете с этим

EDIT: Конечно, у меня есть весна -boot-starter-mail, включенный в мой файл build.gradle

+0

Правильно ли вы устанавливаете '@ComponentScan? – Jens

+0

Не делает ли @SpringBootApplication это для меня? – user3713267

+0

Я добавил его в свой основной класс, но я все равно получаю ту же ошибку – user3713267

ответ

0

Хорошо, я даже не знаю, как это возможно, но как только я сменил название класса с «MailSender» на все остальное - все начинает отлично работать

Смежные вопросы