与 Java 的 ServletContextListener 等效的东西是什么
What's the equivalent thing as ServletContextListener for Java
我想问一下 Play 与 ServletContextListener
对于 Java web 的等价物是什么。
在应用程序启动期间,我会从数据库中获取数据并保存在 memory/cache 中,以及其他类似且适合在服务器启动期间完成的事情
在 Java 网络世界中,这通常挂接到 ServletContextListener#contextIntialized
我搜索了 Whosebug,那里有一些答案,但已经过时了
如果不确切地知道 "initialization work" 您在做什么,很难给出完整的答案。但我建议一个好的起点是声明一个 Module
as documented in the Play DI documentation.
如果你写一个扩展 AbstractModule
的基本 Module
:
package modules
import com.google.inject.AbstractModule
import play.api.{ Configuration, Environment }
class MyModule(
environment: Environment,
configuration: Configuration) extends AbstractModule {
def configure() = {
...
}
}
并在您的 application.conf
:
中启用它
play.modules.enabled += "modules.MyModule"
您可以根据应用的 Environment
和 Configuration
设置进行操作。
文档并没有真正涉及它,但在这里你也可以调用有趣的方法,比如 bindListener()
这将允许你在每个声明的依赖项得到 "provisioned" 时得到通知Google 吉斯。一旦你迷上了 Guice,你就可以做很多事情——也许从 Guice 文档开始 here。
我想问一下 Play 与 ServletContextListener
对于 Java web 的等价物是什么。
在应用程序启动期间,我会从数据库中获取数据并保存在 memory/cache 中,以及其他类似且适合在服务器启动期间完成的事情
在 Java 网络世界中,这通常挂接到 ServletContextListener#contextIntialized
我搜索了 Whosebug,那里有一些答案,但已经过时了
如果不确切地知道 "initialization work" 您在做什么,很难给出完整的答案。但我建议一个好的起点是声明一个 Module
as documented in the Play DI documentation.
如果你写一个扩展 AbstractModule
的基本 Module
:
package modules
import com.google.inject.AbstractModule
import play.api.{ Configuration, Environment }
class MyModule(
environment: Environment,
configuration: Configuration) extends AbstractModule {
def configure() = {
...
}
}
并在您的 application.conf
:
play.modules.enabled += "modules.MyModule"
您可以根据应用的 Environment
和 Configuration
设置进行操作。
文档并没有真正涉及它,但在这里你也可以调用有趣的方法,比如 bindListener()
这将允许你在每个声明的依赖项得到 "provisioned" 时得到通知Google 吉斯。一旦你迷上了 Guice,你就可以做很多事情——也许从 Guice 文档开始 here。