12.AbstractAnnotationConfigDispatcherServletInitializer类介绍

扩展AbstractAnnotationConfigDispatcherServletInitializer的任意类都会自动配置DispatcherServlet和Spring应用上下文,Spring应用上下文会位于应用程序的servlet上下文中。


AbstractAnnotationConfigDispatcherServletInitializer类

首先可以看出,AbstractAnnotationConfigDispatcherServletInitializer是一个抽象类,且继承了AbstractDispatcherServletInitializer类。它还有一个无参的构造方法。
其次它里面有方法可以返回WebApplicationContext的对象。所以说,实现这个类,反过来会查找实现WebApplicationContext的类并将配置的任务交给他们来完成。
其中方法createRootApplicationContext和createServletApplicationContext都是用来创建程序的引用上下文,只不过一个是Root的一个是servlet的。对于获取到的配置类型信息数组做出判断,如果不为null,则调用AnnotationConfigWebApplicationContext类的register方法进行注册。
其中getServletConfigClasses()方法返回带有@Configuration注解的类将会用来定义DispatcherServlet应用上下文中的bean。getRootConfigClasses()方法返回带有@Configuration注解的类将会用来配置ContextClassLoaderListener创建的应用的上下文。


AnnotationConfigWebApplicationContext类的register方法

并且调用Arrays工具类的asList方法将配置类型信息数组转为List,具体的数据结构如下所示:
LinkedHashSet数据结构

到此,我们就简单的了解了一下AbstractAnnotationConfigDispatcherServletInitializer

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容