Привязка к java.lang.String, аннотированная @com.google.inject.assistedinject.Assisted(value=), уже настроена в TesterFactory.create()
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;
Однако, когда я строю код, я получаю сообщение об ошибке. Привязка к java.lang.String, помеченная @com.google.inject.assistedinject.Assisted(value=), уже настроена в TesterFactory.create(). Если я сохраню @Assisted только для serviceName, я не получу эту ошибку.
1 ответ
Assisted дает вам возможность назвать значение, @Assisted(value="blah")
Прямо сейчас (все, что ищет инъекцию) ищет пустую строку. Как у вас есть, вы присваиваете значения (serviceName
а также serviceType
) к пустому значению, поэтому вы пытаетесь присвоить разные значения одной и той же привязке.