Подтвердить что ты не робот

Spring Вы можете автоувеличивать внутри абстрактного класса?

Spring не удается автообновить мой объект? Можно ли автоувеличивать объект в абстрактном классе. Предположим, что все схемы представлены в application-context.xml

Вопрос: Какая аннотация должна быть на основе и расширять классы (если есть) @Service @Component?

Пример

abstract class SuperMan {

    @Autowire
    private DatabaseService databaseService;

    abstract void Fly();

    protected void doSuperPowerAction(Thing thing) {

        //busy code

        databaseService.save(thing);

    }
}

Расширение класса

public class SuperGirl extends SuperMan {

    @Override
    public void Fly() {
        //busy code
    }

    public doSomethingSuperGirlDoes() {

        //busy code

        doSuperPowerAction(thing)

    }

приложения context.xml

<context:component-scan base-package="com.baseLocation" />
<context:annotation-config/>
4b9b3361

Ответ 1

Обычно Spring должен выполнять автоустановку, если ваш абстрактный класс находится в базовом пакете, предусмотренном для сканирования компонентов.

Подробнее см. и .

@Service и @Component - оба стереотипа, которые создают beans аннотированного типа внутри контейнера Spring. Как состояние Spring Docs,

Эта аннотация служит в качестве специализации @Component, что позволяет классы реализации, подлежащие автоопределению через сканирование классов.

Ответ 2

У меня есть такая работа spring, работающая

абстрактный класс с полем с автоподстановкой

public abstract class AbstractJobRoute extends RouteBuilder {

    @Autowired
    private GlobalSettingsService settingsService;

и несколько детей, определенных с помощью аннотации @Component.