Spring 入门学习 —— XML 格式文件介绍(七)(bean 的scope [1])

89 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情 // 周末处理

这篇文章我们开始介绍一下bean 的scope 相关的概念。

之前我们介绍过,IOC Service Provider 的两个主要作用是:

  1. 负责管理各个业务对象
  2. 负责管理各个业务对象之间的依赖关系

而BeanFactory 本身就是一个IOC Service Provider,但是BeanFactory 作为一个轻量级容器,除了具有IOC Service Provider 的功能以外,它还有其他的一些职责,其中就包括管理对象的生命周期

首先要说明的是,在接下来的几篇文章中,我们重点介绍容器中的对象的scope 的概念。

scope 是什么

在Spring 中,scope 多数被翻译成了“作用域”。其实这个词本身的意思就是“区域、范围、领域”的意思,所以这个翻译也很贴切。

在Spring 中,scope 的另外一个比较好的理解可以是这样:

scope 就是用来声明容器中的对象所应该存在的限定的场景,即该业务对象在某个场景中应该存活的时间。

在业务对象进入相应的scope 之前,要去生成并且装配这些业务对象;同时,在这些业务对象不再存在于其限定的scope 之后,容器通常就会把这些业务对象进行销毁。

所以这也比较容器理解为是spring 容器管理的业务对象的声明周期的一种概念。

举例来说,假使我们都存在于某个公司,就可以把这个公司看做一个容器,公司中的财务同事看做一个类的定义,当公司招到这些人之后,也即容器初始化之后,财务同事的工作紧紧局限于财务相关的工作场景中。那么,财务工作场景就可以看做是财务同事的scope。

总结

这篇文章主要是引入了spring 容器的scope 的概念。接下来的文章我们继续介绍scope 的其他内容。