NoSuchBeanDefinitionException: нет подходящего компонента типа org.springframework.mail.MailSender. - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь использовать MailSender в моем ApplicationListener, автоматически подключая его SpringContext:

package example.util.emailUtil;

@Component
public class PostUserListener implements ApplicationListener<OnPostUserDataEvent> {

@Autowired
private MailSender mailSender;
}

Класс конфигурации:

 @ComponentScan(basePackages ={"example.util.emailUtil","example.model","example.service"})
 @Configuration
 public class MailProvider {

   @Bean(name = "mailSender")
   public MailSender javaMailService() 
    JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
    javaMailSender.setHost("smtp.gmail.com");
    javaMailSender.setPort(587);
    javaMailSender.setProtocol("smtp");
    javaMailSender.setUsername("sender’s email");
    javaMailSender.setPassword("sender’s password");
    Properties mailProperties = new Properties();
    mailProperties.put("mail.smtp.auth", "true");
    mailProperties.put("mail.smtp.starttls.enable", "true");
    mailProperties.put("mail.smtp.debug", "true");
    javaMailSender.setJavaMailProperties(mailProperties);
    return javaMailSender;
   }
 }

Но я улавливаю следующее исключение:

 NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.mail.MailSender' available: expected at least 1 bean which qualifies as autowire candidat

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Он не рассматривает ваш класс MailSender как класс, который можно аннотировать с помощью @autowired, или как компонент, который мы можем внедрить. И проверьте, добавили ли вы @component, @service или другую аннотацию к нему. Возможно, будут и другие ошибки. Этот приходит оттуда.

0 голосов
/ 26 февраля 2020
  1. Проверьте нижеприведенные вещи в вашем приложении. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...