Porównaj ceny domen i usług IT, sprzedawców z całego świata

Obsługa wielu implementacji pojedynczego komponentu bean/interfejsu użytkownika Spring


Powiedzmy, że muszę polegać

wiele wdrożeń

Wiosna Boba. Mam jeden interfejs
AccountService
i dwie implementacje:
DefaultAccountServiceImpl
i
SpecializedAccountServiceImpl
.
  • Jak to możliwe (wstrzyknięcie jednej lub drugiej implementacji) na wiosnę
  • Z jakiej implementacji skorzysta następny wtrysk
    @Autowiredprivate AccountService accountService;

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Ogłoszenie. 1: możesz użyć

adnotacja
http://static.springsource.org ... fiers
@Qualifier
lub autowire przy użyciu
@Resource
zamiast
@Autowired
, co domyślnie oznacza nazwę pola, a nie typ.
Ogłoszenie. 2: Nie powiedzie się w czasie wykonywania, mówiąc, że dwa komponenty implementują ten interfejs. Jeśli jedna z twoich fasoli jest extra

z adnotacją
@Primary
http://static.springsource.org ... .html , wtedy preferowane będzie automatyczne okablowanie według typu.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

@Autowired
@Qualifier("impl1")
BaseInterface impl1;@Autowired
@Qualifier("impl2")
BaseInterface impl2;@Component(value="impl1")
public class Implementation1 implements BaseInterface {}@Component(value = "impl2")
public class Implementation2 implements BaseInterface {}
For full code: [url=https://github.com/rsingla/springautowire/]https://github.com/rsingla/springautowire/[/url]

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się