scala – 如何使用Play Framework 2.0创建全局变量
发布时间:2020-12-16 09:11:12 所属栏目:安全 来源:网络整理
导读:如何使用 Scala在Play Framework 2.0中创建全局对象/变量? 我想要创建一旦被实例化的对象,可以在多个控制器动作之间保留,以便不同的动作仍可以调用同一个对象(因为初始化对象非常昂贵). 这可能没有将其存储到数据库中吗?我尝试将对象粘贴到onStart方法的全
如何使用
Scala在Play Framework 2.0中创建全局对象/变量?
我想要创建一旦被实例化的对象,可以在多个控制器动作之间保留,以便不同的动作仍可以调用同一个对象(因为初始化对象非常昂贵). 这可能没有将其存储到数据库中吗?我尝试将对象粘贴到onStart方法的全局对象中,如下所示: http://www.playframework.org/documentation/2.0/ScalaGlobal 这是我的代码: (在根应用程序文件夹中) object Global extends GlobalSettings { override def onStart(app:Application) { var foo = new Foo } } } 在我的控制器动作中,我尝试通过名称调用变量,但它没有起作用. 解决方法
如果您的全局变量也需要可用于Global中的方法,请将它们放在Global.scala中,如下所示:
package object globals { lazy val abc = Play.maybeApplication.flatMap(_.configuration.getString("abc")).getOrElse("default_value_of_abc") lazy val someActor = Akka.system.actorOf(Props[SomeActor],name = "someActor") } 然后在你的控制器中使用它: println(globals.abc) globals.someActor ! SomeMessage UPDATE 文档已经被更新如何添加Global.scala在一个惯用的Play!方式,文档为Scala和Java. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- angularjs – Angular Bootstrap后加载模块
- bash – 显示所有文件的内容与他们的文件名与猫
- Scala forall比较两个列表?
- python-Jupyter Spark数据库访问; java.lang.Cl
- AngularJS入门(1)-双向数据绑定
- Shell编程中的用户输入处理(4):在shell脚本中
- Firebase 5 Angular 5 AngularFireList.snapshot
- 开发WebService两种开源工具CXF和Axis2的比较
- bootstrap table 修改table内容时设置表头与表格
- shell 脚本kill oracle 数据库指定用户
热点阅读