(快速参考)

范围

目的

更改服务范围

示例

class BookService {
    static scope = "session"
    ...
}

说明

默认情况下,服务是“单例”范围,这意味着服务的客户端只会使用该服务的单个实例(一个单例)。可以通过指定scope属性来更改此行为,该属性具有以下值

  • prototype - 每次将新服务注入到另一个类时都会创建一个新服务

  • request - 每次请求都将创建一个新服务

  • flash - 仅为当前和下一次请求创建一个新服务

  • flow - 在 Web 流程中,该服务将存在于该流程的范围中

  • conversation - 在 Web 流程中,该服务将存在于会话的范围内。即一个根流程及其子流程

  • session - 为用户会话范围创建一个服务

  • singleton(默认值)- 始终只存在一个服务实例

有关更多信息,请参阅用户指南中的范围服务