in()...它是做什么的?
问题描述:
在吉斯的文档,关于Untargetted Bindings本章介绍了这个例子:in()...它是做什么的?
bind(AnotherConcreteClass.class).in(Singleton.class);
什么是in()
吗?文档没有提到它的用途。
答
这只是我想的范围。它也接受范围枚举 - Singleton或NO_SCOPE。
作用域是Guice提供的实例可能具有的可见性级别 。默认情况下,由Injector创建的实例没有范围,这意味着从框架的角度来看它没有任何状态 - Injector创建该实例,将其注入要求它的类中,然后立即将其忽略。将范围与特定的绑定相关联允许所创建的实例被“记住”,并且可能再次使用 用于其他注射。
http://google-guice.googlecode.com/svn/tags/3.0/javadoc/com/google/inject/Scopes.html#SINGLETON