我正在尝试启动一个将Vaadin与Spring一起使用的基本示例项目。我该如何设置这样的xml配置:
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>com.app.config.AppConfig</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
到这种基于java的配置:
@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class, widgetset = "com.rrd.mavenproject1.AppWidgetSet")
public static class Servlet extends VaadinServlet {
}
答案 0 :(得分:0)
你做不到。如果您有自定义Servlet XxxListener
,则可以使用@WebListener
对其进行注释。在这种情况下,您尝试加载无法控制的ContextLoaderListener
。
上下文参数对应用程序是全局的,因此无法添加到单个@WebServlet
注释中。
您可能正在寻找的是Servlet API的ServletContainerInitializer
或Spring的WebApplicationInitializer
来执行Java配置。
在其中任何一个中,您都可以访问ServletContext
add context parameters和listeners。这些类的优势在于您可以从Spring上下文创建Servlet,过滤器和监听器。