Vaadin4spring и Vaadin Touchkit NavigationView
Я пытаюсь внедрить пару сервисов Spring в NavigationView (Vaadin Touchkit), и Spring вообще не управляет представлением, поэтому метод @PostConstruct не вызывается и, следовательно, сервисы не вызываются.
Можно ли управлять этим типом представлений как весенними бобами так же, как можно управлять обычными представлениями Vaadin?
В противном случае, как я могу использовать внедренный сервис в Vaadin Touchkit NavigationView?
Объявление класса:
@VaadinView(name = Views.HOME)
@UIScope
public class HomeView extends NavigationView {
@Autowired
private WindDataClientService windDataClientService;
@Autowired
private ForecastDataService forecastDataService;
...
...
...
@PostConstruct
public void init() {
grpConditions.addComponent(lnkConditionsTitle);
grpConditions.addComponent(buildConditionRows());
lblAlertsTitle.setCaption(lblAlertsTitle.getCaption() + forecastDataService.findClosestForecast());
}
}
Заранее большое спасибо
1 ответ
Вы должны рассматривать TouchKits NavigationView как обычный компонент Vaadin, такой как VerticalLayout или Panel, а не как представление Vaadin Navigator. Поэтому нет необходимости аннотировать его с помощью @VaadinView, а только с помощью компонента (~@VaadinComponent).
Если вы хотите использовать компоненты NavigationView с Navigator, вам понадобятся другие приемы. По крайней мере, вам нужно, чтобы ваш вид реализовал интерфейс View, связанный с навигатором. Я не пробовал это, но я думаю, что это должно сработать.