当前位置: 首页 > 知识库问答 >
问题:

使用自定义注释的Guice辅助注入

万俟沛
2023-03-14

目前,我将辅助注射与命名参数一起使用,如下所示:

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

这很棒。但是我认为使用字符串作为参数的标识符有点难看。我想做的是以下内容:

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

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

共有1个答案

姜玉泽
2023-03-14

据我所知,自定义@Assisted注释的样式并不是一个特性;正如您所说,区分相同类型的辅助注入参数的唯一方法是使用命名的@assisted注释。

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

我的直觉是,这种方法不会有太多的附加值,因为它们很容易与普通的绑定注释混淆,而< code>@Assisted注释的含义则大不相同。另外,定义一个注释类型确实需要大量的样板文件。

    < Li > http://code . Google . com/p/Google-guice/
 类似资料:
  • 我正在使用Guice Assisted Inject库为我建立一个工厂。我目前的设置如下: 这迫使我使用< code > factory . create controller(first,factory . create second(first))显式创建一个< code>SecondDep。是否可以更改我的绑定,这样我就可以简单地执行< code > factory . create con

  • 我已经使用google-guice和辅助注射机制有一段时间了。因为我在scala,刚刚发现scala-guice,我也对使用它感兴趣。但是我对如何使用辅助注射感到困惑。没有使用辅助注射的例子。 因此,我的问题是:是否可以使用scala guice辅助注射,如果可以,请提供一个简单的例子? 此外,对于google-guice,我使用以下库:javax.inject.jar、guice-3.0.jar

  • 我有一个工厂是这样的: 这样的类: 如何正确使用Google Guice来做同样的事情?我尝试了辅助注射,但我不确定如何创建“UrlBuilder”。谁能帮忙?

  • 我发现了几个与此相关的(不是重复的)问题,但它们不能让我满意。 我无法理解在哪里以及为什么要使用? 我在一本书中读到了一个自定义注释的示例,但没有详细解释。 myMeth()内的输出与预期一致。 关于这个例子,我有几个问题。 1-如何在此程序中使用和?或

  • 我一直在用guice做一个项目。 我有一个抽象类,它有很多实现。为了使用正确的实现,我使用一个工厂,它接收参数,然后返回正确的实例。 演示代码 我想知道的是,如果我可以用替换工厂,直接注入的实现(请注意,它们应该使用辅助注入)? 谢谢你。

  • 我正在尝试在Guice进行辅助注射。 这是我的实现。 工厂界面。 吉思模块: 我得到错误:“DaoFactory不能用作键;这一点没有充分说明”。 我应该如何配置FactoryModuleBuilder? 我的目标是在运行时使用DaoFactory获取Dao的类型化实例