لماذا حقل Spring @Autowired يساوي null وكيفية إصلاح ذلك؟
مرحباً بالجميع. أنا مبتدئ في Spring وواجهت مشكلة غير مفهومة. لدي خدمة `UserService` أريد حقنها في الـ Controller باستخدام التعليق التوضيحي `@Autowired`. ولكن عند محاولة استدعاء دالة الخدمة أحصل على `NullPointerException` — الحقل `userService` يساوي `null`.
إليك الكود الخاص بي:
```java
public class UserController {
@Autowired
private UserService userService;
public void handleRequest() {
userService.getUser(1); // هنا يحدث NullPointerException
}
}
@Service
public class UserService {
public String getUser(int id) {
return "User " + id;
}
}
```
لقد جربت أيضاً استخدام `@Component` على الـ Controller ولكن ذلك لم يساعد. في ملف `applicationContext.xml` لم أقم بتكوين أي شيء — اعتقدت أن Spring Boot سيلتقط كل شيء تلقائياً. المشروع