在我们的Muhuru-Bay-Microgrid-Dashboad项目中,我们使用https://github.com/xpoft/spring-vaadin中的代码试图让Spring Boot和Vaadin很好地发挥作用。问题 - 通过这种方法,我们无法在启动时访问许多其他休息服务Spring Boot寄存器,例如
/configprops
/health
/dump
/info
/trace
/mappings
/error
/autoconfig
我们的启动代码如下:
@Bean
public ServletRegistrationBean servletRegistrationBean() {
final ServletRegistrationBean servletRegistrationBean
= new ServletRegistrationBean(
new ru.xpoft.vaadin.SpringVaadinServlet(),
"/*", "/VAADIN/*");
return servletRegistrationBean;
}
当我们尝试访问Spring Boot的注册REST服务时,我们会被重定向到/ error - 这也无法正常工作。任何提示都非常感谢。
答案 0 :(得分:1)
尝试使用此插件集成Spring Boot和Vaadin: https://github.com/peholmst/vaadin4spring 它仍处于测试阶段,但在我看来它比Xpoft插件更好。
答案 1 :(得分:1)
在Spring Boot中使用https://github.com/peholmst/vaadin4spring,在访问应用程序的其他REST服务时遇到了同样的问题。 对我有用的是在spring环境中设置VaadinServletConfiguration.SERVLET_URL_MAPPING_PARAMETER_NAME以将Vaadin UI发送到不同的上下文路径(/ ui / *):
@SpringBootApplication
public class AppSpringConfig {
public static void main(String[] args) {
new SpringApplicationBuilder(AppSpringConfig.class).initializers(new ApplicationContextInitializer<ConfigurableApplicationContext>() {
public void initialize(ConfigurableApplicationContext applicationContext)
{
ConfigurableEnvironment appEnvironment = applicationContext.getEnvironment();
Properties props = new Properties();
props.put(VaadinServletConfiguration.SERVLET_URL_MAPPING_PARAMETER_NAME, "/ui/*");
PropertySource< ? > source = new PropertiesPropertySource("vaadin", props);
appEnvironment.getPropertySources().addFirst(source);
}
}).run(args);
}
}