Привязка к 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) к пустому значению, поэтому вы пытаетесь присвоить разные значения одной и той же привязке.

Другие вопросы по тегам