在grails中,除了会话和上下文之外,还有什么方法可以为整个应用程序设置值吗

在grails中,除了会话和上下文之外,还有什么方法可以为整个应用程序设置值吗,grails,Grails,在grails中,除了会话和上下文之外,是否有其他方法可以为整个应用程序设置值,通过这些方法,我们可以为不同的用户共享一个值。 在Grails2.3.7中 请帮帮我。请阅读这一章 可用范围 作用域是类似散列的对象,您可以在其中存储变量。以下作用域可供控制器使用: servletContext-也称为应用程序范围,此范围允许您 在整个web应用程序中共享状态。servletContext是 ServletContext的实例 会话-会话允许将状态与给定用户关联,通常使用cookie将会话与客户端

在grails中,除了会话和上下文之外,是否有其他方法可以为整个应用程序设置值,通过这些方法,我们可以为不同的用户共享一个值。 在Grails2.3.7中 请帮帮我。

请阅读这一章

可用范围 作用域是类似散列的对象,您可以在其中存储变量。以下作用域可供控制器使用:

  • servletContext-也称为应用程序范围,此范围允许您 在整个web应用程序中共享状态。servletContext是 ServletContext的实例
  • 会话-会话允许将状态与给定用户关联,通常使用cookie将会话与客户端关联。会话对象是HttpSession的一个实例
  • 请求-请求对象仅允许存储当前请求的对象。请求对象是HttpServletRequest的一个实例
  • params-传入请求查询字符串或POST参数的可变映射
  • 闪光-见下文

我认为您需要
servletContext
范围。

服务上的属性如何?由于默认情况下服务是单例的,因此只有一个实例,因此整个应用程序共享一个值。您试图解决什么问题?或者通过
grailsApplication.config
访问grails配置,然后放入
config.groovy
。实际上,我只从数据库中获取一次值,并从控制器返回值。所以我不想每次都从数据库中获取数据。如果您运行插件,甚至是groovy的
@Lazy
,那么将其写入
引导程序中的配置中,或者将其加载到您的服务中(
如果val==null val=load()
),或者将其放入ehcache中,这可能会奏效。