Как я могу внедрить bean-компонент Spring в мой пользовательский класс модели Wicket?

В пользовательском классе Wicket, как и в следующем, я использую служебный компонент, который должен быть внедрен Spring, как определено в аннотации SpringBean (из проекта wicket-spring).

public class ReportExportFileModel extends AbstractReadOnlyModel<File> {

    @SpringBean(name = "reportService")
    ReportService reportService;

    ReportDto reportDto;

    ReportExportFileModel(ReportDto reportDto) {
        this.reportDto = reportDto;
    }

    @Override
    public File getObject() {
        try {
            return reportService.generatePentahoReport(reportDto);
        } catch (ReportGenerationException e) {
           // ...
        }
    }
}

Однако это не работает: reportService.generatePentahoReport () не работает с NullPointerException, потому что bean-компонент не был внедрен Spring по какой-то причине .

Любопытно, что я использовал тот же код модели, что и анонимный внутренний класс на странице Wicket, и здесь не было никаких проблем.

Как я могу это исправить?

12
задан Jonik 16 November 2011 в 16:43
поделиться