在Spring Boot上关闭DispatcherServlet

Car*_*rto 6 java spring spring-boot

如何在SpringBoot上禁用DispatcherServlet,即使尝试通过servlet注册禁用它,uri映射也会出现在日志中:

@Bean
public ServletRegistrationBean servletRegistrationBean(final DispatcherServlet dispatcherServlet) {
    final ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(dispatcherServlet);
    servletRegistrationBean.setEnabled(false);

    return servletRegistrationBean;
}
Run Code Online (Sandbox Code Playgroud)

LOG

2015-06-10 10:39:57.552  INFO 7032 --- [           main] o.s.b.c.e.ServletRegistrationBean        : Servlet dispatcherServlet was not registered (disabled)
2015-06-10 10:39:57.553  INFO 7032 --- [           main] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
Run Code Online (Sandbox Code Playgroud)

谢谢任何帮助!

Car*_*rto 14

我将下面的代码添加到我的主类中,并从日志中删除了servlet.

@SpringBootApplication(exclude = { DispatcherServletAutoConfiguration.class })
Run Code Online (Sandbox Code Playgroud)


She*_*rma 6

从春天启动的文档在这里

Spring Boot希望从应用程序的根目录中提供所有内容/.如果您希望将自己的servlet映射到该URL,则可以执行此操作,但当然您可能会丢失其他一些Boot MVC功能.要添加自己的servlet并将其映射到根资源,只需声明一个@Bean类型Servlet并为其指定特殊的bean名称dispatcherServlet(如果要将其关闭而不替换它,也可以创建具有该名称的不同类型的bean) .