Я использую весной с инъекцией зависимостей и наткнулся на этого загадочный куске кода в моем классе TestNG и хочу, чтобы очистить мою голову вокруг этого вопросаИнициализации с @BeforeClass против нетерпеливой инициализации в Java
Я это ниже кода
public class myBase {
@Autowired @Lazy @Qualifier("someInstanceA")
protected SomeClass someInstanceA;
.
.
}
public class myTestB extends myBase {
private String varB = someInstanceA.getVarB();
@Test
.
.
}
Это выше код дал мне NullPointerException на линии
private String varB = someInstanceA.getVarB();
Но когда я делаю это ниже
public class myTestB extends myBase {
private String varB;
@BeforeClass
private void getVarB() {
varB = someInstanceA.getVarB();
}
@Test
.
.
}
Испытания прошли нормально. Я читал, что BeforeClass похож на конструктор по умолчанию, а ожидающая инициализация похожа на инициализацию переменной с использованием конструктора по умолчанию. Что мне здесь не хватает?
http://stackoverflow.com/questions/6335975/autowired-bean-is-null-when-referenced-in-the-constructor-of-another-bean – Savior
http://stackoverflow.com/questions/15627792/заказ-в-которые-полей-в-боб-является инициализированы – Savior