在传统的 Spring Web 应用程序中,是否可以覆盖 AbstractDispatcherServletInitializer.createDispatcherServlet
,调用 super.createDispatcherServlet
,然后在返回的实例上设置以下初始化参数?
setThreadContextInheritable
setThrowExceptionIfNoHandlerFound
如何在 Spring Boot 应用中实现这一点?
最佳答案
您可以定义自己的配置并实现它,如下所示:
@Configuration
public class ServletConfig {
@Bean
public DispatcherServlet dispatcherServlet() {
DispatcherServlet dispatcherServlet = new DispatcherServlet();
dispatcherServlet.setThreadContextInheritable(true);
dispatcherServlet.setThrowExceptionIfNoHandlerFound(true);
return dispatcherServlet;
}
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet());
registration.setLoadOnStartup(0);
registration.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME);
return registration;
}
关于java - 如何在 Spring Boot 应用程序中配置 DispatcherServlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35121399/