您好我刚开始使用spring boot我正在尝试将基于maven的Web应用程序迁移到spring boot。 我能够迁移除下面提到的类之外的所有其他配置文件: - ApplicationInitializer
public class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { Application.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
@Override
protected Filter[] getServletFilters() {
Filter [] singleton = { new CORSFilter()};
return singleton;
}
}
我找到了一个与此Reference link类似的参考链接,它做了同样的工作,但我不知道如何为我的情况做这个。 任何人都可以帮我弄清楚如何使用调度程序servlet注册我的过滤器。 提前谢谢。
答案 0 :(得分:0)
要使用SpringBootServletInitializer(即您所指的)向调度员注册过滤器,您需要添加FilterRegistrationBean。可能看起来像这样:
public class Application extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure( SpringApplicationBuilder application )
{
return application.sources( Application.class );
}
@Bean
public FilterRegistrationBean filterRegistrationBean( ServletRegistrationBean servletRegistrationBean )
{
return new FilterRegistrationBean( new CORSFilter(), servletRegistrationBean );
}
public static void main( String[] args )
{
SpringApplication.run( Application.class, args );
}
}
请注意,上面的代码替换了您的ApplicationInitializer
。