如何使用@Autowired和Annotation配置?

时间:2015-09-14 13:40:30

标签: java spring

我创建简单的spring项目,我需要使用注释@Autowired但是当我运行项目时,我得到异常NullPointerException

这是我的课程:

Main.java

public class Main {
    @Autowired
    private static InjectClass injectClass;

    public static void setInjectClass(InjectClass injectClass) {
        Main.injectClass = injectClass;
    }
    public static void main(String[] args) {
        injectClass.hello();    //NullPointerException
    }
}

ConfigurationBean

@Configuration
public class ConfigurationBean {
    @Bean
    public InjectClass injectClass(){
        return new InjectClass();
    }
}

InjectClass

public class InjectClass {
    public void hello(){
        System.out.println("Autowired success!");
    }
}

1 个答案:

答案 0 :(得分:0)

您需要在使用任何bean之前启动应用程序上下文。 您可以通过在启动main方法时编写以下代码来完成此操作。      AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(       ConfigurationBean.class);