已使用@ com.google.inject.assistedinject.Assisted(value =)注释的java.lang.String绑定已在TesterFactory.create()中配置

时间:2016-12-08 14:49:10

标签: java assisted-inject

import com.google.inject.assistedinject.Assisted;

public interface TesterFactory {
    TesterResource create(@Assisted String serviceName, @Assisted String serviceType);
}

我的TesterResource类有2个成员:

@Inject
@Assisted
private String serviceName;

@Inject
@Assisted
private String serviceType;

然而,当我构建代码时,我收到一个错误。对于使用@ com.google.inject.assistedinject.Assisted(value =)注释的java.lang.String的绑定已在TesterFactory.create()中配置。如果我只保留@Assisted for serviceName,我不会收到此错误。

1 个答案:

答案 0 :(得分:0)

辅助让您能够命名值@Assisted(value="blah")

现在(无论是寻找注射)都在寻找一个空字符串。如您所知,您将值(serviceNameserviceType)分配给空值,因此您尝试为同一个绑定指定不同的值。