我创建简单的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!");
}
}
答案 0 :(得分:0)
您需要在使用任何bean之前启动应用程序上下文。 您可以通过在启动main方法时编写以下代码来完成此操作。 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext( ConfigurationBean.class);