Avatar ·

Comment utiliser correctement les annotations Spring (@Autowired, @Component) en Kotlin ?

Bonjour à tous ! Je viens de commencer à apprendre Kotlin et j'essaie de migrer mon ancien projet Spring de Java vers ce langage. Je suis confronté à un problème : les annotations Spring, comme @Autowired, ne fonctionnent pas comme j'en avais l'habitude en Java.

En Java, je faisais généralement comme ceci :

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

Quand j'ai essayé d'écrire la même chose en Kotlin :

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