WebApplicationContextUtils是一个抽象类,其提供了一个很便利的方法来获取spring应用的上下文即WebApplicationContext。

其中的静态方法getWebApplicationContext(ServletContext sc),提供一个ServletContext 类型参数即可。

其原理十分简单,在spring容器初始化的方法org.springframework.web.context.ContextLoader.initWebApplicationContext(ServletContext)中

通过servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context);已经将WebApplicationContext的实例放入ServletContext 中了。

然后在工具类的org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(ServletContext)中就可以通过传入的ServletContext参数获取到WebApplicationContext实例了。

最新文章

  1. 301和302 Http状态有啥区别?
  2. DAY6 使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单
  3. 山东省第七届ACM省赛------Fibonacci
  4. java根据标点英文分词
  5. Java Se :线性表
  6. 【BZOJ】【4010】【HNOI2015】菜肴制作
  7. ios 设计软件
  8. Manacher算法 O(n) 求最长回文子串
  9. 【Qt】Qt之启动外部程序【转】
  10. 在虚拟机VM中安装的Ubuntu上安装和配置Hadoop
  11. PySpark关于HDFS文件(目录)输入、数据格式的探讨
  12. Android——监听开机启动,自启动应用程序
  13. Linq延迟执行
  14. 轻松背后的N+疲惫——系统日志
  15. 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)
  16. 与众不同 windows phone (3) - Application Bar(应用程序栏)
  17. 开发一个Swing功能时的一点总结
  18. 关于统一资源标志符URL的理解
  19. SSH实现登陆拦截器
  20. LeetCode第十五题-找出数组中三数和为0的答案

热门文章

  1. C++ 事件驱动型银行排队模拟
  2. 如何理解T-SQL中Merge语句
  3. dev c++ Boost库的安装
  4. 【原创】数据挖掘案例——ReliefF和K-means算法的医学应用
  5. JS系列——Linq to js使用小结
  6. 翻译qmake文档(二) Getting Started
  7. apk反编译(5)用apktool重新生成一个未签名的apk
  8. 面试题_103_to_124_关于 OOP 和设计模式的面试题
  9. Sqlite官方下载对应版本注意细节
  10. ###Linux基础 - 2
  11. c++实现的Array数据结构
  12. FZYZOJ-1578 [NOIP福建夏令营]数列分段
  13. 谷歌日志库GLog 使用说明
  14. Flume-ng源码解析之Source组件
  15. 移动端web开发安卓和ios客户端在时间转换上的差异性问题
  16. MySQL高可用——PXC简介
  17. 快速体验 Laravel 自带的注册、登录功能
  18. Django的MVT模式与MVC模式
  19. 深度学习 weight initialization
  20. Nginx的安装与部署