純註解方式配置spring+springMVC
阿新 • • 發佈:2017-05-26
bsp ces roo 註意 public jsp 視圖 lte turn
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()方法
純註解方式配置spring+springMVC