我从 class 创建了一个 bean Driver。当从它自己的方法访问该 bean 内部的@Autowire字段wait时,一切正常,但是当我wait直接在 bean 内部调用时,driver.wait我得到NullPointerException. 有人可以解释为什么会这样吗?
public class Driver{
@Autowire
public MyWait wait;
public void waitForIt(){
this.wait.doStuff();
}
}
@Component
@Lazy
public class MyWait{
public void doStuff(){
doingStuff();
}
}
@Configuration
@Scope("cucumber-glue")
@ComponentScan(basePackages = {"utilities"})
@Lazy
public class SpringConfig {
@Bean
@Lazy
public Driver getDriver() {
return new Driver();
}
}
@ContextConfiguration(classes = SpringConfig.class)
public Steps{
@Autowire
@Lazy
Driver driver;
public void waitForX(){
driver.waitForIt(); <- works fine
driver.wait.doStuff(); <- java.lang.NullPointerException on wait field
}
慕莱坞森
相关分类