为什么@Autowired不起作用,返回空指针值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么@Autowired不起作用,返回空指针值相关的知识,希望对你有一定的参考价值。

这是我的代码。我做错了什么?我尝试使用@Autowired摆脱公共静态JavaMailSender emailSender = getJavaMailSender();

 @Component
    public class EmailServiceImpl{

        @Autowired
        public static JavaMailSender emailSender;


        @Bean
        public static JavaMailSender getJavaMailSender() {
            JavaMailSenderImpl mailSender = new JavaMailSenderImpl();

            mailSender.setPassword("password");

      /**/
        return mailSender;
    }
}
答案

例如,在配置类中定义下面给出的代码:

@Configuration
public class config{
@Bean
        public static JavaMailSender getJavaMailSender() {
            JavaMailSenderImpl mailSender = new JavaMailSenderImpl();

            mailSender.setPassword("password");

      /**/
        return mailSender;
    }
}

然后在类EmailServiceImpl中应用依赖项注入,例如:

@Component
    public class EmailServiceImpl{

        @Autowired
        public static JavaMailSender emailSender;


        // remaining code
}

以上是关于为什么@Autowired不起作用,返回空指针值的主要内容,如果未能解决你的问题,请参考以下文章

Spring Autowired空指针异常

Android数据库选择查询不起作用(空指针错误)[重复]

从空列返回实体后出现空指针异常

Android Webview - 后退按钮不起作用

Spring 注入 MessageDrivenBean 不起作用 - 空指针 - jboss eap 7

从向量到空指针的memcpy(反之亦然)不起作用