Junior — Middle
108
Spring-də bir interfeysə aid konkret sahəyə asılılıq injeksiyasını necə həyata keçirmək olar, əgər onun iki tətbiqi varsa?
Şirkətlər soruşuldu
ITFB Group
AI-dan cavab
sobes.tech Süni İntellekt
В 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 можно явно указать, какую реализацию внедрять, если их несколько.