Sobes.tech
Junior — Middle

Εξηγήστε τη φιλοσοφία της εξάρτησης εισαγωγής στο Spring και πώς υλοποιείται

sobes.tech AI

Απάντηση από AI

Ο εφοδιασμός με εξαρτήσεις (Dependency Injection, DI) στο Spring είναι ένας τρόπος διαχείρισης των εξαρτήσεων των αντικειμένων, όπου το κοντέινερ Spring είναι υπεύθυνο για τη δημιουργία και τη σύνδεση των αντικειμένων, αντί το ίδιο το αντικείμενο να δημιουργεί ή να αναζητά τις εξαρτήσεις του.

Οι κύριοι τρόποι υλοποίησης του DI στο Spring:

  1. Μέσω του κατασκευαστή — οι εξαρτήσεις περνούν μέσω των παραμέτρων του κατασκευαστή.
  2. Μέσω των setter — οι εξαρτήσεις ορίζονται μέσω μεθόδων setter.
  3. Μέσω πεδίων με την ανότατη @Autowired — το Spring εγχέει αυτόματα τα απαραίτητα beans.

Παράδειγμα έγχυσης μέσω ανάρτησης:

@Component
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}

Εδώ, το Spring θα δημιουργήσει αυτόματα μια παρουσία του UserRepository και θα το περάσει στον κατασκευαστή του UserService. Αυτό διευκολύνει την αλλαγή των υλοποιήσεων των εξαρτήσεων, απλοποιεί τις δοκιμές και αυξάνει τη modularity του κώδικα.