throwExceptionIfNoHandlerFound
DispatcherServlet
在 Spring 4.0 中引入。
我试图弄清楚如何在DispatcherServlet
Spring Boot 提供的自动配置中设置这个属性,但没有运气。
一些挖掘表明下面的代码段应该有效,但事实并非如此。
@Bean
public ServletContextInitializer servletContextInitializer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("throwExceptionIfNoHandlerFound", "true");
}
};
}
Run Code Online (Sandbox Code Playgroud)
使用 aBeanPostProcessor
您可以在构建/初始化阶段之后修改 bean。您可以编写一个BeanPostProcessor
只修改DispatcherServlet
.
public class DispatcherServletConfigurer implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof DispatcherServlet) {
((DispatcherServlet) bean).setThrowExceptionIfNoHandlerFound(true);
}
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
然后只需将此作为 a 添加@Bean
到您的配置中。
归档时间: |
|
查看次数: |
5427 次 |
最近记录: |