2015-06-10 2 views
4

Как я могу отключить DispatcherServlet на SpringBoot, даже пытается вывести его из строя с помощью регистрации сервлета на бревне появляется УИР отображение:Выключить DispatcherServlet на Spring ботинке

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

    return servletRegistrationBean; 
} 

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 [/] 

Спасибо любая помощь!

+2

Почему вы хотите, чтобы отключить его ... –

+0

я буду использовать «SpringVaadinServlet» для моего приложения, так что мне не нужно Spring MVC –

+2

Просто исключить 'пружинно-webmvc' зависимость, или исключить' DispatcherServletAutoConfiguration 'в аннотации' @ EnableAutoConfiguration '. –

ответ

13

Я добавил код ниже в мой основной класс, и сервлет был удален из журнала.

@SpringBootApplication(exclude = { DispatcherServletAutoConfiguration.class }) 
6

из пружинной загрузки Docs here

Spring Загрузочный хочет служить все содержимое из корня приложения / вниз. Если вы предпочитаете отображать свой сервлет на этот URL-адрес, вы можете это сделать, но, конечно, вы можете потерять некоторые из других функций Boot MVC. Чтобы добавить свой собственный сервлет и сопоставить его с корневым ресурсом, просто объявите @Bean типа Servlet и укажите ему специальное имя bean dispatcherServlet (вы также можете создать компонент другого типа с этим именем, если вы хотите его отключить, а не замени это).