Sobes.tech
Junior — Middle

Bean-те тәуелділікті енгізудің бірнеше нұсқасы болған кезде сәйкес кандидатты таңдаудың қандай әдістерін білесіз?

sobes.tech AI

AI-дан жауап

Spring-те тәуелділікті енгізу үшін бірнеше кандидат болғанда, келесі әдістерді қолдануға болады:

  1. @Primary — бір бінді негізгі деп белгілеп, әдепкі бойынша енгізіледі.

  2. @Qualifier — нақты биннің атауын немесе квалификаторын көрсету.

  3. Бин атауы — егер аннотациялар қолданылмаса, Spring өріс атауы мен бин атауын сәйкестендіруге тырысады.

  4. @Resource(name = "beanName") — JSR-250-ден, атауы бойынша бинді енгізу.

  5. Профильдерді пайдалану (@Profile) — қолданба профиліне байланысты белгілі бір биндерді іске қосуға мүмкіндік береді.

Мысал @Qualifier қолдану:

@Component
public class ServiceA implements MyService {}

@Component
public class ServiceB implements MyService {}

@Component
public class Client {
    private final MyService myService;

    public Client(@Qualifier("serviceB") MyService myService) {
        this.myService = myService;
    }
}

Осылайша, бірнеше кандидат болғанда, қай бинді енгізу керектігін нақты көрсетуге болады.