Spring Boot发送邮件无法自动装配Bean

时间:2018-10-25 17:24:22

标签: java spring-boot

自动连接配置Bean时出现一些问题。

@Configuration
@ImportResource("classpath:/spring-config.xml")
public class MailConfig {


private JavaMailSenderImpl impl;
@Autowired
public MailConfig(JavaMailSenderImpl impl) {
    this.impl = impl;
}
 ...

春天说:

无法自动接线。 “ JavaMailSenderImpl”类型不止一个bean。

Beans:1)mailSender(MailSenderJndiConfiguration.class)
        2)mailSenderBean(spring-config.xml)

我不使用jndi bean。而且在此应用中对此一无所知。
如何忽略Jndi bean?还是更简单的配置Jndi bean而不是我的? 谢谢。

2 个答案:

答案 0 :(得分:0)

请自动连接接口,而不是实现

 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

但是在您的班级中,将JavaMailSenderImpl替换为JavaMailSender

答案 1 :(得分:0)

---------------------------------已解决------------- -----------------
我在xml中添加属性

  <qualifier value="main" />       

并更改代码

    private JavaMailSenderImpl impl;
    @Autowired
    public MailConfig(@Qualifier("main")JavaMailSenderImpl impl) {
         this.impl = impl;
     }