紧急求助!!!!如何在Play应用中添加全局共享的内容或者对象?

分享 未结
0 0 4 12
fishiung 2017-12-25发布
收藏 点赞

1.能否实现 像 servlet 中 application 作用域 存放全局对象? 然后在各个controller中直接取出来用。


2.我现在使用的是 play2.6.9 已经不支持 GlobalSettings 那应该如何控制整个web项目的生命周期? 如何在项目启动 和结束时做些操作?

回帖
  • 2017-12-26

    全局状态会使得代码难以测试,Play正逐步移除全局状态。关于GlobalSettings的迁移请参考Removing GlobalSettings

    项目启动时执行任务请参考:

    https://www.playframework.com/documentation/2.6.x/ScalaDependencyInjection#component-lifecycle

    https://github.com/playcommunity/play-community/blob/master/app/Module.scala

    项目结束时执行任务请参考:

    https://www.playframework.com/documentation/2.6.x/ScalaDependencyInjection#stopping-cleaning-up

    0
  • 2017-12-27

    那我想把项目中一些公共的资源加载到内存中,以便所有用户都可以直接取而不用再去读取应该怎么做,这些我都看过了,但是好像达不到我想要的那种 ~~~~

    难道只能用第三方缓存或者只能重新加载么?@小编

    0
  • 2017-12-28

    @fishiung 使用@Singleton注解,让注入的类全局只有一个实例,持有的状态便可以全局共享。

    0
  • 2017-12-28

    好的,么么哒@小编

    0