Guice辅助注射与自定义注释

时间:2012-05-22 11:49:31

标签: dependency-injection guice guice-3 assisted-inject

目前我使用带有命名参数的辅助注射,如下所示:

public interface Factory {
public MyObject create(@Assisted("string1") String string1, @Assisted("string2") String string2);
}

这很有效。但我认为将Strings用作参数的标识符有点难看。我想要做的是以下内容:

public interface Factory {
public MyObject create(@String1 String string1, @String2 String string2);
}

所以基本上我想要自定义辅助注释。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

据我所知,这种自定义@Assisted注释的样式不作为特征存在;正如您所说,区分相同类型的辅助注入参数的唯一方法是使用命名的@Assisted注释。

您建议的内容可能是可实现的,因此如果您认为值得,可以随时在Guice网站[1]上提交功能请求。

我的直觉是,这种方法不会有太多的附加值,因为它们太容易与正常的绑定注释混淆,而{{{ 1}}注释很多不同。另外,定义注释类型需要相当多的样板。

  1. http://code.google.com/p/google-guice/
相关问题