为什么@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不起作用,返回空指针值的主要内容,如果未能解决你的问题,请参考以下文章