12. Можно ли вставить бин в статическое поле? Почему?

12. Можно ли вставить бин в статическое поле? Почему?

UNKNOWN

Spring не позволяет внедрять бины напрямую в статические поля, например:

@Component
public class TestDataInit {
     @Autowired
    private static OrderItemService orderItemService;
}
Если вы распечатаете TestDataInit.orderItemService, там будет null.

Чтобы исправить это, создайте нестатический сеттер-метод:

@Component
public class TestDataInit {
     private static OrderItemService orderItemService;
     @Autowired
    public void setOrderItemService(OrderItemService orderItemService) {
        TestDataInit.orderItemService = orderItemService;
    }
}


Предыдущий вопрос: 11. Расскажите про аннотацию @Lookup

Следующий вопрос: 13. Расскажите про аннотации @Primary и @Qualifier.

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page