繁体   English   中英

NoSuchBeanDefinitionException:没有“org.springframework.mail.MailSender”类型的合格bean

[英]NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.mail.MailSender'

我试图通过自动装配 SpringContext 在我的 ApplicationListener 中使用 MailSender:

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
  1. 检查 application.properties 中的以下内容

    spring.mail.host=smtp.xxx.com spring.mail.username=xxx@xxx.com spring.mail.password=xxxxx spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true
  2. 如果您使用的是 Spring Boot 应用程序,请使用 @EnableAutoConfiguration 注释,这将有助于自动配置。

它不会将您的 MailSender 类视为可以使用 @autowired 进行注释的类或我们可以注入的 bean。 并检查您是否添加了@component、@service 或其他注释。 也许还会有其他错误。 这是从那里来的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Spring单元测试的结果在NoSuchBeanDefinitionException中:没有类型为&#39;org.springframework.mail.javamail.JavaMailSender&#39;的合格bean 引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有符合条件的 bean 类型 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为[org.springframework.data.hadoop.hive.HiveOperations]的合格bean org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为&#39;com.example.simple.RealApplication&#39;的合格bean 由以下原因引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:Spring 5中没有任何类型的合格Bean NoSuchBeanDefinitionException:没有类型为&#39;java.util.List的限定bean <org.springframework.shell.ParameterResolver> “ spring 安全性:NoSuchBeanDefinitionException:找不到 [org.springframework.security.config.annotation.ObjectPostProcessor] 类型的合格 bean 我的@DataMongoTest 有问题 - 抛出 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type NoSuchBeanDefinitionException:没有可用的“org.springframework.boot.web.reactive.error.ErrorAttributes”类型的合格bean: 如何解决 原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有符合条件的 bean 类型
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM