Sobes.tech
Junior — Middle
143

Как сделать так, чтобы пользователь мог использовать ранее добавленный бин того же типа после появления нового бина этого типа в библиотеке?

Сұралған компаниялар
IT OneIT One

AI-дан жауап

sobes.tech AI

Чтобы пользователь мог использовать ранее добавленный бин того же типа после появления нового бина этого типа, можно использовать аннотации для различения бинов, например, @Qualifier в Spring. Это позволяет явно указать, какой бин использовать. Также можно задать бин по умолчанию с помощью @Primary, чтобы при автосвязывании выбирался именно он.

Пример с использованием @Qualifier:

@Component
@Qualifier("oldBean")
public class OldService implements Service {
    // реализация
}

@Component
@Qualifier("newBean")
public class NewService implements Service {
    // новая реализация
}

@Service
public class Client {
    private final Service service;

    public Client(@Qualifier("oldBean") Service service) {
        this.service = service;
    }
}

Таким образом, пользователь явно выбирает нужный бин, и добавление нового не ломает существующий код.