容器一開始自動加載的配置:至關於web.xmljava
package config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import javax.servlet.MultipartConfigElement; import javax.servlet.ServletRegistration; public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { return new Class<?>[]{RootConfig.class}; } @Override protected Class<?>[] getServletConfigClasses() { return new Class<?>[]{WebMvcConfig.class}; } @Override protected String[] getServletMappings() {//將請求映射到DispatcherServlet上 return new String[]{"/"}; } @Override//經過重載,能夠對DispatcherServlet進行額外的設置 protected void customizeRegistration(ServletRegistration.Dynamic registration) { registration.setMultipartConfig( new MultipartConfigElement("D:\\springuploads") ); } }
springmvc 部分的配置web
@Configuration @EnableWebMvc @ComponentScan("Controller") public class WebMvcConfig extends WebMvcConfigurerAdapter { //配置視圖解析器 @Bean public ViewResolver viewResolver(){ InternalResourceViewResolver resolver=new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); resolver.setExposeContextBeansAsAttributes(true); resolver.setViewClass(JstlView.class); return resolver; } @Override public void configureDefaultServletHandling( DefaultServletHandlerConfigurer configurer) { configurer.enable();//對靜態資源的請求轉發到servlet容器默認的servlet上 //而不是使用dispatcherServlet來處理 } }
spring bean 部分的配置spring
package config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration @ComponentScan( basePackages = {"bean"}, excludeFilters = { @ComponentScan.Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class) } ) public class RootConfig { }