纯注解方式配置spring+springMVC

时间:2022-12-31 14:09:20

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 {
/**
* 加载properties配置文件必配此bean
* @return
*/
@Bean
public static PropertySourcesPlaceholderConfigurer getPropertySourcesPlaceholderConfigurer(){
return new PropertySourcesPlaceholderConfigurer();
} }

即可。

如果需要创建额外的servlet、filter、listener

新建类,并继承WebApplicationInitializer,重写其中的onStartup方法

纯注解方式配置spring+springMVC

注册filter与之类似

纯注解方式配置spring+springMVC

需要注意的是,如果我们新建的filter的映射路径是在dispatcherServlet,则只需要重写initConfig类中的getServletFilters()方法

纯注解方式配置spring+springMVC