以下代码按预期工作。
在上下文中有MailSender
可用时,将创建一个EmailService
。
如果没有MailSender
可用,则会创建NoopEmailSender
。
据我所知,当Spring Boot具有相同的名称时,他们倾向于使用参数最多的方法。不幸的是,我在文档或JavaDoc的某处找不到该行为。
我的问题是我不确定代码是否仅由于“运气” /“随机”而工作,还是这种行为是故意的。
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.MailSender;
@Configuration
@Slf4j
public class MailConfiguration {
@Bean
public EmailSender emailSender(MailSender mailSender) {
return new EmailService(mailSender);
}
@Bean
public EmailSender emailSender() {
log.info("Email sending is not configured.");
return new NoopEmailSender();
}
}
感谢您的帮助!