目前我使用带有命名参数的辅助注射,如下所示:
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);
}
所以基本上我想要自定义辅助注释。有没有办法做到这一点?
答案 0 :(得分:1)
据我所知,这种自定义@Assisted
注释的样式不作为特征存在;正如您所说,区分相同类型的辅助注入参数的唯一方法是使用命名的@Assisted
注释。
您建议的内容可能是可实现的,因此如果您认为值得,可以随时在Guice网站[1]上提交功能请求。
我的直觉是,这种方法不会有太多的附加值,因为它们太容易与正常的绑定注释混淆,而{{{ 1}}注释很多不同。另外,定义注释类型需要相当多的样板。