public class MailService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private JavaMailSender mailSender;
public void sendMail1(ReUserInfoVo reUserInfoVo){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("13281809887@163.com");
message.setTo(reUserInfoVo.getEmail());
message.setSubject("it is a test for spring boot");
message.setText(reUserInfoVo.getUname()+"注册成功欢迎使用!");
try {
mailSender.send(message);
logger.info("测试邮件已发送。");
} catch (Exception e) {
logger.error("发送邮件时发生异常了!", e);
}
}
}
在spring中调用的改方法出现了错误,里面有一个自动注入,而我调用方法的时候是手动创建的实例,所有运行的时候出现了空指针异常
网上的解决方案基本没用,不适合我的情况。
解决方法 采用注入方式代替手动创建实例
@Autowired
MailService mailController;
mailController.sendMail1(userInfoVo);
而不是
MailService mailController=new MailService();
mailController.sendMail1(userInfoVo);