Наверное, это глупый вопрос. В java мы не можем создавать абстрактные классы. Таким образом, мы не можем сделать: AbstractClass abstractClass = new AbstractClass() abstractClass.method();
Почему Spring MVC может создавать абстрактные классы?
Но весной мы можем сделать:
@Autowired
AbstractClass abstractClass;
abstractClass.method();
Почему?
Простого имени недостаточно для того, чтобы класс был абстрактным. Проверьте, что это будет конкретный класс, или он может использовать полиморфизм Runtime. – SMA
Это просто кодирование интерфейса. Весна найдет конкретный класс, который соответствует. Точно так же, как если бы вы сказали '@Autowired List x'. В итоге это будет ArrayList или LinkedList или какой-либо другой Список. – Thilo
И вы можете сделать это, не используя Spring тоже: 'AbstractClass abstractClass = new ConcreteClass()' где 'ConcreteClass расширяет AbstractClass'. – Andreas