Thank you so much, and sorry for the very late reply.
You can initialize it in multiple ways:
1- Constructor injection:
private final PaymentService creditCardPaymentService;
private final PaymentService payPalPaymentService;
@Autowired
public PaymentController(CreditCardPaymentService creditCardPaymentService,
PayPalPaymentService payPalPaymentService) {
this.creditCardPaymentService = creditCardPaymentService;
this.payPalPaymentService = payPalPaymentService;
}
2- With qualifiers:
@Qualifier("payPalPaymentService")
public class PayPalPaymentService extends PaymentService {
and then in your controller or other service:
private final PaymentService creditCardPaymentService;
private final PaymentService payPalPaymentService;
@Autowired
public PaymentController(@Qualifier("creditCardPaymentService") PaymentService creditCardPaymentService,
@Qualifier("payPalPaymentService") PaymentService payPalPaymentService) {
this.creditCardPaymentService = creditCardPaymentService;
this.payPalPaymentService = payPalPaymentService;
}