单例模式

ServletContext:servlet表示服务程序、context表示上下文。一起就是应用程序的上下文。这个就是一个典型的单例
这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。


QQ截图20210520162934.png

关联的知识:

上下文
  • 所谓上下文,它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息上下文中,于是在我们使用这个数据源的时候,就需要先获得系统的上下文,然后再通过一定的方式将数据源取出来。至于在系统启动时,是如何将这些初始化信息加载到上下文中,而上下文在程序中具体又是以什么形式体现的,应该随着系统的不同而不同。

上下文可以理解为工程的环境,那么这个环境信包含了一些配置信息 ,就比如:spring上下文,代表的是spring配置的环境信息,我们spring配置文件是applicationcontext.xml,application.xml就是spring的上下文,也就是读取到这个上下文,就可以获得spring的配置数据,总的来说上下文对应配置文件,因为配置文件是配置环境的,获得上下文,就是获得了环境的信息,也就是获得了你配置文件的信息,所以经常获取spring的上下文,就是直接读取spring的配置文件,因为这个配置文件配置的环境信息呀

spring上下文
  • 应用上下文即是Spring容器的一种抽象化表述;而我们常见的ApplicationContext本质上说就是一个维护Bean定义以及对象之间协作关系的高级接口。额,听起来是不是很抽象拗口?那你再读一遍呢。。。这里,我们必须明确,Spring的核心是容器,而容器并不唯一,框架本身就提供了很多个容器的实现,大概分为两种类型:一种是不常用的BeanFactory,这是最简单的容器,只能提供基本的DI功能;还有一种就是继承了BeanFactory后派生而来的应用上下文,其抽象接口也就是我们上面提到的的ApplicationContext,它能提供更多企业级的服务,例如解析配置文本信息等等,这也是应用上下文实例对象最常见的应用场景。有了上下文对象,我们就能向容器注册需要Spring管理的对象了。对于上下文抽象接口,Spring也为我们提供了多种类型的容器实现,供我们在不同的应用场景选择......

你可能感兴趣的:(单例模式)