gpt4 book ai didi

grails - 何时决定更改 Grails Controller 的范围

转载 作者:行者123 更新时间:2023-12-04 14:01:40 24 4
gpt4 key购买 nike

Grails Controller 的默认范围是 prototype即将为每个请求创建一个新的 Controller (推荐用于作为闭包属性的操作)

Controller 支持另外两个范围:
session - 为用户 session 范围创建一个 Controller
singleton - Controller 只存在一个实例(推荐用于作为方法的 Action )

我什么时候应该使用哪个范围?我什么时候可以决定更改范围?在什么场景下?

最佳答案

Prototypesession范围意味着您可以在 Controller 字段中存储请求/ session 特定状态。然而,这不是推荐的做法,应该避免。

如果您遵循惯例并避免 Controller 中的状态,您可以轻松地使用 singleton范围(这是 Spring Web MVC Controller 中的默认值)。

如果您的 Controller 中有状态,则必须使用 prototypesession范围。

一般来说,我建议不要为 Controller 混合不同的范围。如果你因为习惯了 prototype 不小心在单例 Controller 中添加了一个有状态的字段,那会是一个非常痛苦的经历。范围。在多个并发请求/ session 访问同一个字段并且一切都中断之前,您不会注意到这个错误。

关于grails - 何时决定更改 Grails Controller 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18875181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com