通過重載AbstractAnnotationConfigDispatcherServletInitializer實現類的customizeRegistration()方法來自定義DispatcherServlet配置
在AbstractAnnotationConfigDispatcherServletInitializer將DispatcherServlet注冊到Servlet容器之后,就會調用customizeRegistration()方法,並將Servlet注冊后得到的ServletRegistration.Dynamic傳遞進來,通過重載customizeRegistration()方法,我們可以對DispatcherServlet進行額外的配置。
1 public class SpringWebAppInit extends AbstractAnnotationConfigDispatcherServletInitializer { 2 //Spring容器 3 @Override 4 protected Class<?>[] getRootConfigClasses() { 5 return new Class[]{RootConfig.class}; 6 } 7 8 //SpringMVC容器 9 @Override 10 protected Class<?>[] getServletConfigClasses() { 11 return new Class[]{WebConfig.class}; 12 } 13 14 //DispatcherServlet映射關系 15 @Override 16 protected String[] getServletMappings() { 17 return new String[]{"/"}; 18 } 19 20 21 @Override 22 protected void customizeRegistration(ServletRegistration.Dynamic registration) { 23 super.customizeRegistration(registration); 24 registration.setMultipartConfig(new MultipartConfigElement("/tmp/coreqi/uploads"));//配置對multipart的支持 25 registration.setLoadOnStartup(1);//設置load-on-startup優先級 26 } 27 }
