1、新建类initConfig,继承AbstractAnnotationConfigDispatcherServletInitializer,并重写getRootConfigClasses()、getServletConfigClasses()、getServletMappings()方法。
public class InitConfig extends AbstractAnnotationConfigDispatcherServletInitializer{ @Override protected Class<?>[] getRootConfigClasses() { return new Class<?>[]{RootConfig.class}; } @Override protected Class<?>[] getServletConfigClasses() { return new Class<?>[]{WebConfig.class}; } @Override protected String[] getServletMappings() { return new String[]{"*.do"}; } }
2、分别新建上图getRootConfigClasses()中的RootConfig.class和getServletConfigClasses()中的WebConfig.class方法
/** * springmvc配置类 * @author yang */ @Configuration @EnableWebMvc @ComponentScan(basePackages={"com.ydzc.controller","com.ydzc.service.impl"}) public class WebConfig extends WebMvcConfigurerAdapter{ /** * 配置springmvc视图 * @return */ @Bean public ViewResolver viewResolver(){ InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/pages/"); resolver.setSuffix(".jsp"); resolver.setExposeContextBeansAsAttributes(true); return resolver; } }
/** * spring配置类 * @author yang */ @Configuration @PropertySource("classpath:znzd.properties") @ComponentScan(basePackages={"com.ydzc.controller","com.ydzc.service.impl"}) public class RootConfig extends WebMvcConfigurerAdapter{ /** * 加载properties配置文件必配此bean * @return */ @Bean public static PropertySourcesPlaceholderConfigurer getPropertySourcesPlaceholderConfigurer(){ return new PropertySourcesPlaceholderConfigurer(); } }
即可。
如果需要创建额外的servlet、filter、listener
新建类,并继承WebApplicationInitializer,重写其中的onStartup方法
注册filter与之类似
需要注意的是,如果我们新建的filter的映射路径是在dispatcherServlet,则只需要重写initConfig类中的getServletFilters()方法
时间: 2024-10-05 09:57:04