★学习目标:
掌握singleton的作用域,能够在Spring容器中深刻理解作用域的范围
★思考任务:
singleton的作用域范围
★任务学习:
★知识要点:
Spring支持的5种作用域
作用域名城 | 描述 |
singleton | 单例模式。在单例模式下,Spring 容器中只会存在一个共享的Bean实例,所有对Bean的请求,只要请求的id(或name)与Bean的定义相匹配,会返回Bean的同一个实例。 |
prototype | 原型模式,每次从容器中请求Bean时,都会产生一个新的实例。 |
request | 每一个HTTP请求都会有自己的Bean实例,该作用域只能在基于Web的Spring ApplicationContext中使用。 |
session | 每一个HTTPsession请求都会有自己的Bean实例,该作用域只能在基于Web的Spring ApplicationContext中使用。 |
global session | 限定一个Bean的作用域为Web应用(HTTPsession)的生命周期,只有在Web应用中使用Spring时,该作用域才有效。 |
下面将通过案例的方式演示Spring容器中singleton作用域的使用。将id为bean1的作用域设置为singleton。
在chapter07项目的com.itheima包中创建测试类scopeTest,在main()方法中通过加载applicationBean1.xml配置文件初始化Spring容器,通过Spring容器获取Bean1类的两个实例,判断两个实例是否为同一个。
在IDEA中启动scopeTest类,控制台会输出运行结果。


