Spring 使用javabean当配置类原理

一、web容器在启动的时候,会扫描每一个jar包下的META-INF/services/javax.servlet.ServletContainerInitializer
二、加载这个文件指定的类SpringServletContainerInitializer
三、spring的应用一启动会加载感兴趣的WebApplicationInitializer接口的下的全部组件;
四、而且为WebApplicationInitializer组件建立对象(组件不是接口,不是抽象类)
    1)、AbstractContextLoaderInitializer:建立根容器;createRootApplicationContext();
    2)、AbstractDispatcherServletInitializer:
            建立一个web的ioc容器;createServletApplicationContext();
            建立了DispatcherServlet;createDispatcherServlet();
            将建立的DispatcherServlet添加到ServletContext中;
                getServletMappings();
    3)、AbstractAnnotationConfigDispatcherServletInitializer:注解方式配置的DispatcherServlet初始化器
            建立根容器:createRootApplicationContext()
                    getRootConfigClasses();传入一个配置类
            建立web的ioc容器: createServletApplicationContext();
                    获取配置类;getServletConfigClasses();
    
总结:
    以注解方式来启动SpringMVC;继承AbstractAnnotationConfigDispatcherServletInitializer;
实现抽象方法指定DispatcherServlet的配置信息;

===========================
定制SpringMVC;
1)、@EnableWebMvc:开启SpringMVC定制配置功能;
    <mvc:annotation-driven/>;

2)、配置组件(视图解析器、视图映射、静态资源映射、拦截器。。。)
    extends WebMvcConfigurerAdapter
相关文章
相关标签/搜索