Может ли кто-нибудь объяснить, почему объект @Inject
имеет значение null, когда его класс инициализирован оператором new
?Inject не работает с новым оператором
public class A{
@Inject
B b;
...
...
}
Когда выше класс создается как A a = new A();
я b
как null
. Может ли кто-нибудь объяснить, почему? Я знаю, что это работает, когда я внедряю класс А. Но я хочу знать, почему он не работает с новым оператором. Что делает весна?
У вас есть консервная банка, которая может быть автоподготовлена в этом поле? Вы активировали сканирование компонентов? –
A (tl; dr): Вы должны создать экземпляр из контейнера Spring (т. Е. Из «ApplicationContext») вместо «new». – Spoike