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
相關文章
相關標籤/搜索