如何使用@Singleton of Guice?

Yan*_*hof 4 android guice

我需要创建一个类的一个实例 - 这个实例需要可以从代码中的任何位置访问.

所以,我找到了Guice ......我想从这个包中使用'@Singleton',但我没有找到任何示例或一些doc如何使用它以及如何进行声明.

Sid*_*ani 7

@Singleton很容易使用.就是这样

@Singleton
public class A {

    @Inject
    public A() {
    }
}
Run Code Online (Sandbox Code Playgroud)

但请注意,单例是每个注射器一个,而不是每个VM.Singleton是一种范围类型,GUICE还允许自定义范围非常有用.请看下面的链接.

当你在另一个类中使用它时,你只需要注入它.

public class B {
   @Inject
   public B(A a) {
   }
}
Run Code Online (Sandbox Code Playgroud)

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

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

  • 是的只要您的注射器相同.它基本上是一个范围的实例.因此,在该对象层次结构实例中,"a"在该注入器下将是相同的. (2认同)