1. 程式人生 > >純註解方式配置spring+springMVC

純註解方式配置spring+springMVC

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