java - 什么时候应该使用范围注释

标签 java scope guice

Java guice中的作用域注释是什么意思?

有人可以举个例子来解释它是如何工作的吗? 我看到这样的例子:

@Singleton
class Log {
  void log(String message) { ... }
}

但是单例与作用域无关,对吧?

谢谢!!!

最佳答案

Scopes allow you to reuse instances: for the lifetime of an application (@Singleton), a session (@SessionScoped), or a request (@RequestScoped).

http://code.google.com/p/google-guice/wiki/Scopes

这意味着,如果您的类使用 Singleton 进行注释,则只会从该类实例化一个对象,每次您使用这种绑定(bind)时都会注入(inject)该对象。

当您使用 @RequestScoped 时,每个请求每次都会获得新对象

关于java - 什么时候应该使用范围注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17160206/

相关文章:

java - Tomcat 8.017生成md5带digest.bat

haskell - 开始 Haskell - 出现 "not in scope: data constructor"错误

Python 导入之星创建隐藏命名空间?

java - 与泛型的多重绑定(bind)

java - 使用 JSON-Simple 的 JSON 解析不起作用

java - 如何从集合中提取映射值

java - classCastException 请帮助我了解真正的概念

javascript - AngularJS UI Bootstrap 模式无法执行范围内的功能

java - Spring 中的 session 或请求范围变量

scala - 如何在 Play 2.5 中激活循环依赖?