انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-009-L04

تنفيذات متعددة

  • الدرس 4 من 8
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

resolve ambiguity with @Primary and @Qualifier.

الموضوعات المخطط لها

  • Two beans of the same type make Spring unable to choose: NoUniqueBeanDefinitionException.
  • @Primary marks the default choice.
  • @Qualifier("name") at the injection point picks a specific bean.
  • Injecting a List<PricingStrategy> collects all implementations.
  • Bean names default to the class name with a lowercase first letter.
تفاصيل المخطط المبدئي

عرض عملي

java
@Component @Primary class StripePayment implements PaymentProvider {}
@Component("paypal") class PayPalPayment implements PaymentProvider {}

OrderService(@Qualifier("paypal") PaymentProvider payment) { ... }

اختبر فهمك

You want one default and one exception. Which annotations?

أظهر الإجابة

@Primary on the default, @Qualifier where the exception is used.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.