我试图将几个spring服务注入到一个NavigationView (Vaadin )中,而这个视图根本没有被Spring管理,所以没有调用@PostConstruct方法,因此没有调用服务。
是否可以像管理正常的Vaadin视图一样,像spring一样管理这种类型的视图?
否则,如何在Vaadin中使用注入服务?
班级声明:
@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());
}
}提前谢谢
发布于 2014-11-17 15:38:22
您应该将TouchKits NavigationView看作是一个普通的Vaadin组件,比如VerticalLayout或Panel,而不是Vaadin。因此,不需要用@VaadinView对其进行注释,而只需使用组件(~@VaadinComponent)。
如果您想在Navigator中使用NavigationView组件,则需要一些其他技巧。您至少需要让视图实现与Navigator相关的view接口。我还没试过,但我觉得应该也行。
https://stackoverflow.com/questions/26962415
复制相似问题