Avatar ·

كيفية استخدام تعليقات Spring التوضيحية (@Autowired, @Component) بشكل صحيح في Kotlin؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin وأحاول نقل مشروعي القديم على Spring من Java إلى هذه اللغة. واجهت مشكلة: تعليقات Spring التوضيحية مثل @Autowired لا تعمل بالطريقة التي اعتدت عليها في Java.

في Java كنت أفعل عادةً هكذا:

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;
    
    public String getUserName(Long id) {
        return userRepository.findById(id).map(User::getName).orElse("Unknown");
    }
}

عندما حاولت كتابة نفس الشيء في Kotlin:

@Service
class UserService {
    @Autowired
    private lateinit var userRepository: UserRepository
    
    fun getUserName(id: Long): String {
        return userRepository.findById(id).map { it.nam