Sobes.tech
Junior — Middle
162

Πώς να κάνετε ώστε ο χρήστης να μπορεί να χρησιμοποιεί ένα προηγουμένως προστιθέμενο bean του ίδιου τύπου μετά την εμφάνιση ενός νέου bean αυτού του τύπου στη βιβλιοθήκη;

Εταιρείες όπου ρωτήθηκαν
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;
    }
}

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