javaMailSender 解决注入时为null的问题
问题原因:
1. 没有将你写的类注入
必须要 @Component 将自己写的类先用springboot容器先管理起来
@Component
public class EmailTool {
@Autowired
JavaMailSender javaMailSender ;
public void sendSimpleMail() {
省略 ''''''''''
}
然后 @Autowired 注入到你要调用的类中再使用用,不能直接使用。
@SpringBootTest
class DemoApplicationTests {
@Autowired
EmailTool emailTool;
@Test
void contextLoads() {
// EmailTool emailTool = new EmailTool(); //这个会导致JavaMailSender 为null
emailTool.sendSimpleMail(); //正确写法
}
}
本文详细解析了在Spring Boot项目中使用JavaMailSender时遇到的注入为null问题。主要原因是自定义类未被Spring容器管理,通过使用@Component注解可以解决此问题。同时,文章提供了正确的使用方式,即在需要调用的类中通过@Autowired注解引入自定义的邮件工具类。

5404

被折叠的 条评论
为什么被折叠?



