Junior — Middle
Bean-те тәуелділікті енгізудің бірнеше нұсқасы болған кезде сәйкес кандидатты таңдаудың қандай әдістерін білесіз?
sobes.tech AI
AI-дан жауап
Spring-те тәуелділікті енгізу үшін бірнеше кандидат болғанда, келесі әдістерді қолдануға болады:
-
@Primary — бір бінді негізгі деп белгілеп, әдепкі бойынша енгізіледі.
-
@Qualifier — нақты биннің атауын немесе квалификаторын көрсету.
-
Бин атауы — егер аннотациялар қолданылмаса, Spring өріс атауы мен бин атауын сәйкестендіруге тырысады.
-
@Resource(name = "beanName") — JSR-250-ден, атауы бойынша бинді енгізу.
-
Профильдерді пайдалану (@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;
}
}
Осылайша, бірнеше кандидат болғанда, қай бинді енгізу керектігін нақты көрсетуге болады.