花门楼前见秋草,岂能贫贱相看老。这篇文章主要讲述Spring框架 ? WebApplicationInitializer源码分析及应用相关的知识,希望能为你提供帮助。
1、背景在约定大于配置的大环境下,xml配置文件越来越多的被零配置所取代。还有大部分将原xml中的配置转为在java类中定义。
而WebApplicationInitializer就可以看做是web.xml的替代者,在启动Web项目时会加载该实现类,实现类中可定义对 servlet、filter、listener的操作。
2、源码分析先来看下WebApplicationInitializer接口定义,可以看到只有一个接口,参数ServletContext解释说要用来初始化的;
再看类上注解,提示可以参考SpringServletContainerInitializer。
文章图片
转看SpringServletContainerInitializer,先看类定义;
首先该类实现了ServletContainerInitialize接口,并且在注释中明确说明在容器启动时加载该实现类。
文章图片
文章图片
再来看重写的方法 onStartup(Set< Class< ?> > webAppInitializerClasses, ServletContext servletContext)
webAppInitializerClasses,解释为所有WebApplicationInitializer接口的实现类,也就是说在容器启动时,webAppInitializerClasses的实现类类型会作为参数传入;
下面的代码就很容易读懂了,如果不是接口啥的,将实现类实例化放到linkedList,然后循环调用实现类中重写的方法,以此达到代替xml的作用。
文章图片
3、应用分析完源码,说下实际项目中的应用。
没啥说的,写了 servlet、filter 、listener的操作。
【Spring框架 ? WebApplicationInitializer源码分析及应用】
文章图片
推荐阅读
- Android各大手机系统打开权限管理页面
- android学习(intent和Bundle传值上的区别)
- 推荐!Python Pandas面试题和答案详解
- Kali Linux面试题和答案精华推荐
- HTTP面试题和答案详细汇总分析
- 精品!数据仓库面试题和答案合集
- 数据科学25大面试题及其答案详细分析
- SAP ABAP面试题及其答案推荐合集
- 最新软件工程面试题及其答案整理合集