我最近一直在使用Google Guice进行黑客入侵,并且我想出了一个想法,根据它在其中声明的类将一个String
注入到构造函数中,其他几个参数在注释中定义。例如: 如果我定义了一个新的限定词注释@NamedInjectable
由吉斯使用:如何使用Guice注入索引(和类特定)字符串
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.PARAMETER })
@Qualifier
public @interface NamedInjectable
{
String name() default "";
boolean indexed() default true;
}
name是一个新的名字基地字符串(默认是只有类的名称),indexed
状态是否不是每次注入新字符串都应该增加名称。
例如
public MyClass {
@Inject
public MyClass(@NamedInjectable(name = "foo", indexed = true) String name) {
// some code
}
}
而且name
PARAM应给予一个值,如“ 我认为使用提供商绑定或AssistedInject但我可以完成它。一个主要的原因失败,以某种方式获得的名称类。
你有任何其他的想法?
我发现工厂注入更适合我的目的。虽然它看起来像一个矫枉过正的=) –