У меня есть три класса, являющиеся компонентами.
@Component
class One extends SuperClass{};
@Component
class Two extends SuperClass{};
@Component
class Three extends SuperClass{};
SuperClass - это абстрактный класс, который имплементирует интерфейс, содержащий metodInterfase(); который переопределяется в каждом из основных классов со своей логикой. В самом же SuperClass этот метод metodInterfase(); никак не реализуется т.к. он и не нужен.
В супер классе так же есть public void() который используется в каждом из основных классов.
У меня возникает проблема как получить доступ к public void() у SuperClass из основных классов?
Если я просто создаю переменную в основных классах типа
@Component
class One extends SuperClass{
private SuperClass superclass = new SuperClass(); // ошибка
@Override
public void metodInterfase(){};
};
ИДЕ просит меня реализовать метод metodInterfase() для SuperClass что для меня бессмысленно.
а если попытаться сделать SuperClass компонентом и заинжектить его то получаю сообщение от ИДЕ Could not autowire. There is more than one bean of 'SuperClass' type. что логично поскольку я использую этот класс у нескольких других.
как получить доступ к public void() у SuperClass из основных классов
Этот метод, наверное, как-то называется?
Его надо просто вызывать:
methodFromSuperClass();
Сборка персонального компьютера от Artline: умный выбор для современных пользователей