Spring Mvc 自动装配

Spring Mvc 自动装配

  • 版本要求
    • Spring Framework 3.1 +
    • Servlet 3.0 +
  • Servlet SPI
    • Servlet SPI ServletContainerInitializer ,参考 Servlet 3.0 规范
  • 配合 @HandlesTypes
  • Spring 适配
    • SpringServletContainerInitializer
  • Spring SPI
    • 基础接口: WebApplicationInitializer
    • 编程驱动: AbstractDispatcherServletInitializer
    • 注解驱动: AbstractAnnotationConfigDispatcherServletInitializer

示例

  • 导入import org.springframework.web.servlet.DispatcherServlet,添加@ComponentScan注解配置包扫描
import org.springframework.web.servlet.DispatcherServlet;
@ComponentScan(basePackages = "com.imooc.web")
public class DispatcherServletConfiguration {
}

  • 继承抽象类AbstractAnnotationConfigDispatcherServletInitializer
public class DefaultAnnotationConfigDispatcherServletInitializer extends
        AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() { // web.xml
        return new Class[0];
    }
    @Override
    protected Class<?>[] getServletConfigClasses() { // DispatcherServlet
        return new Class[]{DispatcherServletConfiguration.class};
    }
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}
原文地址:https://www.cnblogs.com/fjf3997/p/13041485.html