Back to questions
Junior — Middle
74
Как в Spring выполнить внедрение зависимости по конкретному полю интерфейса, если у него есть две реализации?
Companies where asked
ITFB Group
Answer from AI
sobes.tech AI
В Spring, если у интерфейса есть две реализации, и нужно внедрить зависимость по конкретному полю, можно использовать аннотацию @Qualifier для указания, какую именно реализацию нужно внедрить.
Пример:
public interface Service {
void execute();
}
@Service
@Qualifier("serviceA")
public class ServiceA implements Service {
public void execute() { /* реализация A */ }
}
@Service
@Qualifier("serviceB")
public class ServiceB implements Service {
public void execute() { /* реализация B */ }
}
@Component
public class Client {
private final Service service;
@Autowired
public Client(@Qualifier("serviceA") Service service) {
this.service = service;
}
}
Таким образом, с помощью @Qualifier можно явно указать, какую реализацию внедрять, если их несколько.