Java Guice - 如何将整数值绑定(bind)到我的类/对象?

标签 java dependency-injection guice

我不明白如何在绑定(bind)类时简单地绑定(bind)任何值。我总是收到此错误:

No implementation for test.Triangle annotated with @com.google.inject.name.Named(value=triangle) was bound.

我尝试过这个:

三角形类

@Inject
public void setLength(@Named("triangle") int length) {
    this.length = length;
}

配置类

bind(Triangle.class).annotatedWith(Names.named("triangle")).toInstance(1);//这个只是给出错误,我不能这样做。

我如何在其中输入一个值,以便它使用 setLength 方法和我选择的值?..我阅读了 Guice 文档,但没有找到它。在 Spring 框架中,这样的事情似乎更容易做和理解(也许它有更好的文档,至少对我来说)。另外,如果我错过了文档中显示此类内容的内容,您也可以链接它。

最佳答案

bind(Integer.class).annotatedWith(Names.named("triangle")).toInstance(1);

您不想将 Triangle 绑定(bind)到 1 - 您想将 Integer 绑定(bind)到 1。最好使用 @Named("triangleLength ") 甚至切换到绑定(bind)注释 (@IndicatesTriangleLength) 以明确意图。

关于Java Guice - 如何将整数值绑定(bind)到我的类/对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20731500/

相关文章:

java - 如何连接Android Studio和SQL Server数据库

java - Elastic Spring Data 还是 Java 高级 REST 客户端?

javascript - Angularjs:[$injector:modulerr] 无法实例化模块 ui-router

c# - 如何使用新的 DI 通过 IWebJobsStartup 将 ILogger 注入(inject)到 Azure 函数中?

angular - 通过构造函数参数与 Injector 服务进行注入(inject)

java - 如何管理对 servlet-api 的依赖?

java - 在 Guice 中动态绑定(bind)实例

java - 知道传递给java中方法的参数数量

java - Guice - 默认绑定(bind)定义

java - Maven:消除本地仓库中除最新版本之外的所有库