Spring Framework 7.006.Bean 作用域(Bean Scopes)
Bean 作用域
当你创建一个 bean 定义时,你就创建了一个用于创建由该 bean 定义所指定类的实际实例的配方。bean 定义是一种配方的想法很重要,因为这意味着,与类一样,你可以从单个配方创建多个对象实例。
你不仅可以控制将被注入到从特定 bean 定义创建的对象中的各种依赖项和配置值,还可以控制从特定 bean 定义创建的对象的作用域。这种方法强大且灵活,因为你可以通过配置选择所创建对象的作用域,而不必在 Java 类级别固化对象的作用域。可以将 Bean 定义为在多种作用域之一中部署。Spring 框架支持六种作用域,其中四种仅在使用支持 Web 的 ApplicationContext
时才可用。你也可以创建自定义作用域。
以下表格描述了支持的作用域:
作用域 | 描述 |
---|---|
singleton | (默认)将单个 bean 定义作用域限定为每个 Spring IoC 容器的单个对象实例。 |
prototype | 将单个 bean 定义作用域限定为任意数量的对象实例。 |
re |