什么是Java中的上下文

本文转载自:https://www.cnblogs.com/xuxinstyle/p/9334027.html

  • 所谓的上下文,就是使用它来存储一些(初始化的)信息。例如Spring的ApplicationContext就是作为IOC容器存储Bean、请求上下文RequestContext就是存储客户端请求服务器时传来的一些信息。项目启动,就可以将配置文件中的数据加载存储到context中。

  • ServletContext,是一个全局的储存信息的空间,服务器启动,其就存在,服务器关闭,其才释放。所有用户共用一个ServletContext。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。如,做一个购物类的网站,要从数据库中提取物品信息,如果用session保存这些物品信息,每个用户都访问一便数据库,效率就太低了;所以要用来Servlet上下文来保存,在服务器开始时,就访问数据库,将物品信息存入Servlet上下文中,这样,每个用户只用从上下文中读入物品信息就行了。(此处只是举例,实际上将商品信息存储到Servlet上下文中不合适)

  • Context翻译成上下文不直观,翻译成"环境"、"容器"更容易理解。

  • 举例从Spring上下文中取出Bean。

    package cn.king.material01.common.util;import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;/*** @author: wjl@king.cn* @time: 2021/10/20 上午12:45* @version: 1.0.0* @description: 手动从SpringIOC容器中获取Bean* @why:*/
    public class ApplicationContextUtil implements ApplicationContextAware {private static ApplicationContext applicationContext;private ApplicationContextUtil() {}@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {applicationContext = applicationContext;}public static ApplicationContext getApplicationContext() {return applicationContext;}public static Object getBean(String name) {return applicationContext.getBean(name);}}
    

什么是Java中的上下文相关推荐

  1. java中取得上下文路径的方法

    1.request.getContextPath(); 获得web根的上下文环境 如 /tree tree是web项目的root context 2.可以在servlet的init方法里 String ...

  2. Java中的ClassLoader和SPI机制

    深入探讨 Java 类加载器 成富是著名的Java专家,在IBM技术网站发表很多Java好文,也有著作. 线程上下文类加载器 线程上下文类加载器(context class loader)是从 JDK ...

  3. Java中的锁原理、锁优化、CAS、AQS详解

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:景小财 www.jianshu.com/p/e674ee68 ...

  4. linux java 栈_关于Java中栈与堆的思考

    1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势是,存取速度比堆要快,仅次于直接位于C ...

  5. cloning java_深入浅出Java中的clone克隆方法,写得太棒了!

    作者:张纪刚 blog.csdn.net/zhangjg_blog/article/details/18369201/ 2019-03-24 10:33:04 Java中对象的创建 clone 顾名思 ...

  6. Java中是否可以继承String类,为什么

    详细解析: 1. 关于final修饰符 参考文章:  浅析Java中的final关键字 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的&qu ...

  7. 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽

    最近在重新学习java,发现了以前未发现的几个概念,从网上搜索了一些资料,现在整理下.对于我来说,以前只是知道java中的覆写 重载和隐藏,这次却发现还有遮掩和遮蔽这两个概念.下面是整理的一篇文章. ...

  8. java中的关键字static

    原文链接: https://zhuanlan.zhihu.com/p/70110497 昨晚面试中被问到,没能回答出来.这篇答疑文章写得非常好,无一字可增删,遂直接复制. 在平时开发当中,我们经常会遇 ...

  9. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

最新文章

  1. 0x54. 动态规划 - 树形DP(习题详解 × 12)
  2. constraint的一些用法总结
  3. 关于android基础教程一书的初步解读后发现的一些问题
  4. PHP将json或对象转成数组
  5. 替代java参数_java – 使用Void作为可选参数的更好的替代方法
  6. CF2B The least round way(贪心+动规)
  7. java底层 文件操作_JAVA的文件操作【转】
  8. 充分利用UC berkeleys数据科学专业
  9. 当你成为大龄码农时,你会怎么找你的出路?
  10. 火狐与IE兼容性总结(一)
  11. 更改eclipse字体
  12. 手工画图和计算机画图的内在联系,工程制图与计算机绘图教案10-11-1
  13. QT中使用ActiveX
  14. 网易校招测试岗位2018
  15. hdu 4747(区间更新)
  16. python3 如何对一个数进行开方(3种方法)
  17. ya的意思_请问ya是你的意思吗,为什么不写成yo – 手机爱问
  18. JAVA简易网页浏览器
  19. 怒!移动免费上网卡是骗人的!还是黑我的手机费!
  20. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

热门文章

  1. python爬取考研成绩什么时候出来_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些...
  2. Web HttpServletRequest的getRequestURL方法获取不到https协议请求问题
  3. 【CIPS 2016】(8-10章)信息抽取、情感分析自动文摘 (研究进展、现状趋势)
  4. Java学习笔记(第二周)
  5. IE11兼容性问题——网站提示“打印插件只支持IE浏览器”
  6. 查看端口(3306)被那个程序占用
  7. python拍七游戏代码_python实现逢七拍腿小游戏的思路详解
  8. 【3】SCI易中期刊推荐——人工智能领域(中科院1区)
  9. linux下TCGA数据下载,TCGA数据下载方式小结
  10. python输出一年有多少天多少时分秒_Python年月日时分秒,python