Powiedz, że muszę polegać na kilku implementacjach z komponentu Spring bean. Mam jeden interfejs AccountService
i dwie implementacje: DefaultAccountServiceImpl
i SpecializedAccountServiceImpl
.Obsługa kilku implementacji jednej fasoli sprężystej/interfejsu
Jak to jest możliwe (wstrzyknięcie jednej lub drugiej realizacji) na wiosnę?
Która z poniższych implementacji wtrysku?
@Autowired private AccountService accountService;
Tomasz: Rozumiem, że muszę użyć '@Qualifier (" specjalistyczne ")', aby określić implementację, która ma zostać wstrzyknięta. Następnie, jeśli zdefiniuję moją usługę przy użyciu java (zamiast xml), w jaki sposób określić, który kwalifikator ma? Czy to zrobi: '@Service (" specjalistyczne ")'? – balteo
@balteo: tak. Albo przypisz nazwę usługi ręcznie w adnotacji '@ Service' lub przyjmij prostą nazwę klasy z pierwszym znakiem małej litery:' @Qualifier ("specializedAccountServiceImpl") '. –