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

Spring, абстрактный класс и аннотации

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

public abstract class AbstractServiceActions {

    @Autowired
    protected DatabaseModel dbModel;

    protected User user;
    protected boolean complete;
    protected String serviceResult;

    public AbstractServiceActions(User user) {
        this.user = user;
        this.serviceResult = "";
    }

    public abstract String doAction();
    }

Теперь вы можете видеть, я пытаюсь autowire DatabaseModel. Но в моем расширенном классе я получаю null для dbModel.

@Component
public class CreateDatabaseAction extends AbstractServiceActions {
....
}

Вопрос: Я пытаюсь сделать что-то невозможное здесь?

4b9b3361

Ответ 1

Ваша настройка кажется прекрасной. Причина, возможно, лежит где-то в другом месте. Возможно, вы создаете класс с помощью new CreateDatabaseAction(), вместо того чтобы позволить spring сделать это.

Ответ 2

Используйте @Autowired, а не @Inject из javax.inject.

Включение зависимостей в абстрактном классе работает только для spring @Autowired.

FYI, я использую spring 4.0; Java 6