Avatar ·

@Inject و @Autowired في Spring: ما الفرق وماذا تختار؟

مرحبًا! بدأت في تعلم Spring Framework وأكتب أول تطبيق لي. لدي بعض الالتباس حول التعليقات التوضيحية (annotations) لحقن التبعيات (dependency injection). أرى أنه في بعض الأمثلة يستخدمون @Autowired، وفي أخرى يستخدمون @Inject. كلا التعليقين يبدو أنهما يفعلان نفس الشيء: إدخال الـ beans في الحقول (fields) أو المنشئات (constructors) أو الـ setters. إليك مثال على الكود الخاص بي حيث أستخدم @Autowired: ```java @Component public class UserService { @Autowired private UserRepository userRepository; public User findUser(Long id) { return userRepository.findById(id); } } ``` لكن زميلي قال إنه من الأفضل استخدام @Inject من الحزمة javax.inject. يدّعي أن هذا نهج "أنقى"، لكنه لم يستطع شرح السبب بوضوح. بحثت في Google ووجدت الكثير من المعلومات المتناقضة. البعض يكتب أن

لا توجد إجابات بعد.

تسجيل الدخول لترك إجابة

المدونات